Deklaration der hashtable mit Schlüssel, Wert
Ich bin in C# 2.0.
Ich würde gerne wissen, ob es möglich ist, zu erklären Hashtable
const eingeleitet, mit key & Werte. Ich weiß, dass es möglich ist mit arrays:
public static string[] ColumnsNames =
{ "string1", "string2", "string3", "string4"
, "string5", "string6", "string7" };
aber wie können wir das mit Hashtables.
Sie müssen eine const oder static-Feld? Const ist nicht verfügbar für
Koroghli - Warum genau möchtest du das tun? Ich sollte darauf hinweisen das string[] ist nicht konstant.
Koroghli - Sie verstehen, die Sie nutzen könnten auflistungsinitialisierer, ohne dass es eine statische variable?
Hashtable
Koroghli - Warum genau möchtest du das tun? Ich sollte darauf hinweisen das string[] ist nicht konstant.
Koroghli - Sie verstehen, die Sie nutzen könnten auflistungsinitialisierer, ohne dass es eine statische variable?
InformationsquelleAutor enenkey | 2011-07-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
Kann es nicht sein fertig in C# 2.0. Die Sprache, die Sie nicht unterstützt. Die Sprachspezifikation ist hier und es gibt keine Erwähnung von inline Wörterbuch-Initialisierung.
C# 3.0 erlaubt Wörterbuch-Initialisierung ähnlich wie die array-Initialisierung du beschrieben hast in deiner Frage (language spec hier). Hier ist ein Beispiel:
InformationsquelleAutor Trumpi
Glauben, dass das funktionieren sollte.
InformationsquelleAutor Ian
Ist es leicht mit C# 3 auflistungsinitialisierer, die können noch Ziel .NET-2. Mit einem
Dictionary<string, string>
statt einerHashtable
obwohl (nicht die nongeneric Sammlungen, es sei denn, Sie haben wirklich zu1):Gibt es nichts ähnliches in C# 2, wenn Sie wirklich zu verwenden. Sind Sie wirklich noch, die mit Visual Studio 2005? Vergessen Sie nicht, dass Sie noch Ziel .NET 2, C# 3, und 4...
EDIT: Wenn man wirklich möchte es mit C# 2 und Hashtabellen, könnten Sie schreiben Sie eine statische Methode wie diese:
Dann:
Ich würde wirklich nicht empfehlen, obwohl...
1 Die gleiche syntax wird die Arbeit mit
Hashtable
wenn Sie C# 3, aber es ist wirklich, wirklich Wert, über die generische Sammlungen, wenn Sie möglicherweise kann.InformationsquelleAutor Jon Skeet
Du meinst
InformationsquelleAutor Yahia
Sollten Sie mit einem
Dictionary
. Im Durchschnitt derHastable
ist über 1/3 langsamer als das Wörterbuch (vor allem aufgrund der Umsetzung). Weiter ist es veraltet.ReadOnlyDictionary
oder so etwas.InformationsquelleAutor Stefan Georgiev