5
map <pair<unsigned int, unsigned int>, unsigned int> kmapValues;

private Dictionary<KeyValuePair<uint, uint>, uint> kmapValues;

代替

kmapValues[make_pair(j, i)] = 1 

kmapValues[Tuple(j, i)] = 1 // got error

System.Tuple 是类型,但用作变量错误

4

2 回答 2

4

您正在声明要使用KeyValuePair<K,V>键的字典,但您正在尝试使用它来访问它Tuple<T1,T2>。你需要决定一种类型,并坚持下去。

由于KeyValuePair<K,V>是不对称的,我会使用Tuple<T1,T2>

private Dictionary<Tuple<uint, uint>, uint> kmapValues;

然后您的作业将正常工作:

kmapValues[Tuple.Create(j, i)] = 1;
于 2013-04-29T10:19:02.693 回答
1

// 作为 C# 扩展方法,在一些静态类上:

public static KeyValuePair<K, V> MakePair<K, V>(this K k, V v) { return new KeyValuePair<K, V>(k, v); }
于 2015-01-29T11:26:37.260 回答