Können Array-Indizes in C # benannt werden?

8

Ich frage mich, ob der Index eines Arrays in C # anstelle des Standardindexwerts benannt werden kann. Was ich im Grunde suche, ist das C # -Äquivalent des folgenden PHP-Codes:

%Vor%

Prost.

    
diggersworld 25.03.2012, 21:16
quelle

4 Antworten

26

PHP mischt das Konzept von Arrays und das Konzept von Dictionaries (aka Hash-Tabellen, Hash-Maps, assoziative Arrays) zu einem einzigen array type .

In .NET und den meisten anderen Programmierumgebungen werden Arrays immer numerisch indiziert. Verwenden Sie für benannte Indizes stattdessen ein Wörterbuch :

%Vor%

Im Gegensatz zu den assoziativen Arrays von PHP werden Wörterbücher in .NET nicht sortiert. Wenn Sie ein sortiertes Wörterbuch benötigen (aber wahrscheinlich nicht), bietet .NET einen sortierten Wörterbuchtyp .

    
BoltClock 25.03.2012, 21:19
quelle
2

In einem Array, nein. Es gibt jedoch die sehr nützliche Dictionary -Klasse, die eine Sammlung von KeyValuePair -Objekten darstellt. Es ähnelt einem Array, da es eine iterierbare Sammlung von Objekten mit Schlüsseln ist, aber allgemeiner, da der Schlüssel ein beliebiger Typ sein kann.

Beispiel:

%Vor%

MSDN-Dokumentation für Dictionary<TKey, TValue>

    
yoozer8 25.03.2012 21:21
quelle
1

Sehen Sie sich Hashtable in C # an. Dies ist die Datenstruktur, die in C # funktioniert.

    
Oleksi 25.03.2012 21:19
quelle
0

Sie könnten einen Dictionary<string, FooValue> oder einen ähnlichen Typ oder Sammlungs-Typ verwenden oder, wenn Sie bei Array bleiben müssen, ein Enum mit Ihren Labels definieren.

    
Jakub Konecki 25.03.2012 21:20
quelle

Tags und Links