【问题标题】:What is C# equivalent of <map> in C++? [duplicate]C++ 中的 <map> 的 C# 等价物是什么? [复制]
【发布时间】:2014-02-06 15:16:59
【问题描述】:

我已经定义了一个类 myComplex。我需要将它映射到整数。在 C++ 中,我会创建一个映射为 map&lt;myComplex,int&gt;第一;

如何在 C# 中做这样的事情?

【问题讨论】:

  • 我最好的猜测是您需要Dictionary&lt;myComplex, int&gt;,但更多信息会很好。

标签: c# c++ dictionary visual-c++ language-comparisons


【解决方案1】:

相当于System.Collections.Generic 命名空间中的类SortedDictionary&lt;TKey, TValue&gt;。

如果您不关心顺序,System.Collections.Generic 命名空间中的类 Dictionary&lt;TKey, TValue&gt; 可能就足够了。

【讨论】:

  • 如果他们不关心订单,Dictionary 绰绰有余,更可取。
  • @Daniel:是的,但这引出了一个问题:如果他们不关心顺序,为什么他们在 C++ 中使用“地图”?他们本可以在 C++ 中使用 unordered_map(假设他们自 C++11 起就一直处于清醒状态)。
  • @DaveDoknjas 同意。我的意思是,您的陈述是,鉴于他们不关心订单,Dictionary“可能 [...] 就足够了”。实际上,在他们不关心订单的情况下,Dictionary 绰绰有余;这是最好的。
【解决方案2】:

std::map&lt;Key, Value&gt; → SortedDictionary&lt;TKey, TValue&gt;

std::unordered_map&lt;Key, Value&gt; → Dictionary&lt;TKey, TValue&gt;

【讨论】:

    【解决方案3】:

    看看 System::Collections::Generic 中的Dictionary class。

    Dictionary<myComplex, int> myMap = new Dictionary<myComplex, int>();
    

    【讨论】:

      【解决方案4】:

      .NET Framework 也提供了许多集合类。您可以在 C# 中使用字典。 请在下面的 msdn 链接中找到详细信息和示例 http://msdn.microsoft.com/en-us/library/xfhwa508.aspx

      【讨论】:

        猜你喜欢
        • 2011-06-12
        • 1970-01-01
        • 2012-02-26
        • 2015-07-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多