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 是类型,但用作变量错误
您正在声明要使用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;
// 作为 C# 扩展方法,在一些静态类上:
public static KeyValuePair<K, V> MakePair<K, V>(this K k, V v) { return new KeyValuePair<K, V>(k, v); }