是否可以通过索引和字符串设置C#集合并允许重复的键?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了是否可以通过索引和字符串设置C#集合并允许重复的键?相关的知识,希望对你有一定的参考价值。
我能找到的最接近的是NameValueCollection
。
通过该类,我可以添加重复的键,并可以通过字符串和索引获取。
但是,即使我可以按字符串分配。由于只能设置为索引,因此无法按索引分配。
NameValueCollection data = new NameValueCollection();
data.Add("foo", "");
string foo = data["foo"]; // valid
foo = data[0]; // valid
data["foo"] = "abc"; // valid
data[0] = "abc"; // invalid
我想要类似于php中的数组变量的东西。
答案
在C#中,您可以向任何类,结构或接口添加自定义索引器(示例代码中显示的myVariable [type]格式)行为。据我所知,这是C#独有的。
这意味着,如果您不喜欢任何可用的C#数据结构,则可以使用自定义索引器行为简单地创建自己的。这意味着您可以使myDataStructure [string]和myDataStructure [int]完全按照您想要的方式运行。
您可以在以下位置找到更多信息:https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/indexers/using-indexers
以上是关于是否可以通过索引和字符串设置C#集合并允许重复的键?的主要内容,如果未能解决你的问题,请参考以下文章