c#等价于php关联数组?
可能重复:c#等价于php关联数组?,c#,.net,php,C#,.net,Php,可能重复: 我最近决定学c。我以前做过一些php。我知道c#有字典。这相当于php中的关联数组,对吗?据我所知,字典不像php关联数组那样维护插入顺序,对吗?如果插入顺序很重要,我是否应该使用其他等效项 谢谢字典不保证保留插入顺序,所以不:你不能依赖它(尽管很难强迫它打破这个)。如果插入顺序很重要,则需要创建一个混合类,可能为插入的顺序封装一个列表,为索引封装一个字典。您可能需要签出。我相信他们有适合您需要的实现。在System.Collections.Specialized命名空间中有一个类
我最近决定学c。我以前做过一些php。我知道c#有字典。这相当于php中的关联数组,对吗?据我所知,字典不像php关联数组那样维护插入顺序,对吗?如果插入顺序很重要,我是否应该使用其他等效项
谢谢字典不保证保留插入顺序,所以不:你不能依赖它(尽管很难强迫它打破这个)。如果插入顺序很重要,则需要创建一个混合类,可能为插入的顺序封装一个
列表
,为索引封装一个字典。您可能需要签出。我相信他们有适合您需要的实现。在System.Collections.Specialized
命名空间中有一个类,但不幸的是它不是泛型的
没有保留插入顺序的内置通用字典类。如果插入顺序真的很重要,那么您将不得不推出自己的或检查第三方实现(如Marc&Kent所建议的)。PHP关联数组被转换为XmlRpcStruct类型。见
在C#中,使用XmlRpcStruct或struct表示PHP关联数组
这是一个经过测试的解决方案,不是一个随便的建议。Java有一个(LinkedHashMap)。在C#?@cletus:没有。在核心.NET框架中没有等价物@马克:强迫并不难。诚然,我一时记不起来了。。。我想它在某个地方的帖子里。如果你倾向于用哈希表排序,这意味着你的哈希函数是垃圾,你的O(1)是有风险的。您应该有接近任意桶的随机插入位置。。。