可以使用C#中的数组访问的数组

你可以做

array['Name']; 

在C#中

而不是:

 array[0]; 

我知道你可以用PHP做到这一点,但C#有一个平等,虽然我认为highley不太可能:(

它在C#中称为Dictionary 。 使用generics,您实际上可以按任何类型进行索引。 像这样:

 Dictionary dictionary = new Dictionary(); Person myPerson = new Person(); dictionary[myPerson] = "Some String"; ... string someString = dictionary[myPerson]; Console.WriteLine(someString); 

这显然会在控制台上打印“Some String”。

这是字典灵活性的一个例子。 您也可以像字符串一样使用字符串作为索引。

数组在C#中的工作方式不同,但您可以向任何类添加索引器属性:

 class MyClass { public string this[string key] { get { return GetValue(key); } set { SetValue(key, value); } } } 

然后你可以写出你对此提出的语句类型:

 MyClass c = new MyClass(); c["Name"] = "Bob"; 

这是如何实现对DictionaryNameValueCollection和类似类的基于字符串的索引访问。 您也可以实现多个索引器,例如,一个用于索引,一个用于名称,您只需使用不同的参数类型添加上面的另一个属性。

几个内置框架类已经有这些索引器,包括:

  • SortedList
  • Dictionary
  • SortedDictionary
  • NameValueCollection
  • Lookup (在System.Linq

…和更多。 这些都是为了略微不同的目的而设计的,因此您需要阅读每一个,并查看哪一个适合您的要求。

 Dictionary myDic = new Dictionary(); myDic.Add("Name", instanceOfWhatIWantToStore); myDic["Name"];