![](/img/trans.png)
[英]Does c# have a VB.NET-equivalent for shorthand array declaration like {“string1”,“string2”}?
[英]Does C# have array with index is a string like PHP?
我一直在学习C#2个月。 之前,我学习了PHP,看到它有一个数组,索引是一个字符串,如下所示:
$John["age"] = 21;
$John["location"] = "Vietnam";
记住我们设置为数组元素的内容非常有用。 我试图找出C#是否支持该数组类型,但我还没有看到任何答案。
C#有这样的数组吗? 如果有,我该如何创建它?
C#支持索引的任何类型的对象。 一个带烘焙的实现是System.Collections.Generic.Dictionary<T1,T2>
。 你可以这样声明一个:
Dictionary<string, string> myDictionary = new Dictionary<string, string>();
是的,这是一个关联数组,由C#中的泛型Dictionary<TKey, TValue>
类或非泛型Hashtable
。
您的代码只能使用Hashmap
因为值不是全部相同的类型。 但是,我强烈建议你重新考虑一下设计。
使用System.Collections.Generic.Dictionary<T1,T2>
如其他所说。 为了完成你的知识,你应该知道你可以控制自己[]
的行为。 例如:
public class MyClass
{
public string this[string someArg]
{
get { return "You called this with " + someArg; }
}
}
class Program
{
void Main()
{
MyClass x = new MyClass();
Console.WriteLine(x["something"]);
}
}
会产生“你称之为”。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.