Können array-Indizes genannt werden, die in C#?
Frage ich mich, ob der index eines Arrays kann ein name vergeben werden, der in C# anstelle des Standard-index-Wert. Was ich im Grunde Suche, ist die C# - Entsprechung des folgenden PHP-code:
$array = array(
"foo" => "some foo value",
"bar" => "some bar value",
);
Cheers.
- Du bist wirklich zu wollen einen hash.
Du musst angemeldet sein, um einen Kommentar abzugeben.
PHP fügt sich das Konzept von arrays und das Konzept von Wörterbüchern (auch bekannt als hash-Tabellen hash-maps, assoziative arrays) in einer einzigen
array
- Typ.In .NET und den meisten anderen Programmiersprachen sind arrays immer indiziert numerisch. Für benannte Indizes, verwenden Sie eine Wörterbuch statt:
Im Gegensatz zu PHP assoziative arrays, dictionaries in .NET sind nicht sortiert. Wenn Sie brauchen, um eine sortierte Wörterbuch (aber wahrscheinlich nicht), .NET bietet eine sortiert-dictionary-Typs.
In ein array, keine. Allerdings gibt es die sehr nützliche
Dictionary
- Klasse, die eine Sammlung vonKeyValuePair
Objekte. Es ist ähnlich wie ein array, es ist eine iterierbar Sammlung von Objekten mit Schlüsseln, aber mehr im Allgemeinen, dass der Schlüssel kann jede Art.Beispiel:
MSDN-Dokumentation für
Dictionary<TKey, TValue>
Blick auf Hashtable in C#. Dies ist die Daten-Struktur, die tut, was du willst, in C#.
Könnte man eine
Dictionary<string, FooValue>
oder ähnlicher Art oder eine Sammlung geben oder, wenn Sie halten müssen-array definierenEnum
mit Ihren Bezeichnungen.