c#等同于php关联数组?

时间:2009-02-23 12:16:36

标签: c# .net php

  

可能重复:
  C# associative array

我决定最近学习c#。我以前做了一些PHP。我看到c#有字典。这相当于php中的关联数组吧?据我所知,字典不会像php关联数组一样维护插入顺序吗?如果插入顺序很重要,我应该使用其他一些等价物吗?

感谢

4 个答案:

答案 0 :(得分:4)

字典不保证保留插入顺序,所以不:你不能依赖它(虽然很难强制它打破这个)。如果插入顺序很重要,则需要创建一个混合类,可能为插入的顺序封装List<T>,并为索引编制Dictionary<TKey,T>

答案 1 :(得分:2)

您可能想查看Power Collections。我相信他们的实施能够满足您的需求。

答案 2 :(得分:1)

System.Collections.Specialized命名空间中有一个OrderedDictionary类,但遗憾的是它不是通用的。

没有内置的通用字典类可以保留插入顺序。如果插入订单非常重要,您必须自己动手或查看第三方实施(如Marc&amp; Kent建议的那样)。

答案 3 :(得分:1)

PHP关联数组转换为XmlRpcStruct类型。请参阅XML-RPC spec.

在C#中,使用XmlRpcStruct或struct来表示PHP关联数组。

这是一个经过测试的解决方案,而不是一个随意的建议。