1

我在 c# 中移植了一个 c++ MFC 类,但我遇到了问题。

c++ 类有一个

CMap<int,int,CString,CString>MapIndexNote;

如何在 c# 中创建等效项?我已经阅读过有关字典和 Hastables 的信息,但我对 4 个参数有困难。

非常感谢,

尼克修斯

4

1 回答 1

3

等效的是Dictionary<int, string>

查看CMap 的定义可以看到,第 2 和第 4 类型的存在只是为了让您指定第 1 和第 3 类型是通过引用传递还是通过值传递。

C# 将半自动地做正确的事情:因为包括所有值类型在内的所有值类型int都是按值传递的,而包括引用类型在内string的引用类型作为(引用计数的)引用传递(但是请注意,“引用”在 C# 中并不意味着同样的事情就像在 C++ 中一样)。

于 2012-11-11T13:16:45.097 回答