我在 c# 中移植了一个 c++ MFC 类,但我遇到了问题。
c++ 类有一个
CMap<int,int,CString,CString>MapIndexNote;
如何在 c# 中创建等效项?我已经阅读过有关字典和 Hastables 的信息,但我对 4 个参数有困难。
非常感谢,
尼克修斯
等效的是Dictionary<int, string>
。
查看CMap 的定义可以看到,第 2 和第 4 类型的存在只是为了让您指定第 1 和第 3 类型是通过引用传递还是通过值传递。
C# 将半自动地做正确的事情:因为包括所有值类型在内的所有值类型int
都是按值传递的,而包括引用类型在内string
的引用类型作为(引用计数的)引用传递(但是请注意,“引用”在 C# 中并不意味着同样的事情就像在 C++ 中一样)。