Gibt es irgendetwas in der C#, die wie die folgenden <key, string, string>
, die ich Schlüssel verwenden kann, um das zweite und dritte Feld schnell zugreifen.einfaches Konstrukt wie die folgenden
Antwort
Da Sie angegeben haben, dass Sie nicht .NET 4 verwenden, werden Sie die beiden Strings eine Klasse oder Struktur zu halten definieren müssen Sie interessiert sind:
class Foo
{
public StringOne { get; set; }
public StringTwo { get; set; }
}
Dann ein Dictionary<string, Foo>
, wie so verwenden :
var dict = new Dictionary<string, Foo>();
dict["key"] = new Foo() {
StringOne = "Hello",
StringTwo = "World"
};
Vergessen Sie nicht, der Klasse und ihren Eigenschaften aussagekräftige Namen zu geben.
nicht verwenden .net 4.0. Ich habe eine Klasse namens keyValuedPair gefunden. – user496949
KeyValuePair ist nicht was du willst; Es ist für den Gebrauch in Wörterbüchern und anderen Dingen gedacht, die Schlüssel zu Werten zuordnen. Bitte beachten Sie meine aktualisierte Antwort, die mit C# 3 und .NET 2.0/3.5 funktioniert. – cdhowie
sieht aus wie es ist nur Paar
Warum diese nicht schreiben
class StringPair {
public string Item1 { get; set; }
public string Item2 { get; set; }
}
Dictionary<TKey, StringPair>
mag keine zusätzliche Klasse für diese einfache Aufgabe – user496949
Es gibt nicht viel mehr, was Sie tun können. Es tut uns leid. –
Tuple ist wirklich besser. Leider ist es in 4.0 nur – user496949
Wäre das für Sie arbeiten?
class Table<TKey, TValues>
{
Dictionary<TKey, int> lookup;
List<TValues[]> array;
public Table()
{
this.lookup = new Dictionary<TKey, int>();
this.array = new List<TValues[]>();
}
public void Add(TKey key, params TValues[] values)
{
array.Add(values);
lookup.Add(key, array.Count - 1);
}
public TValues[] this[TKey key]
{
get { return array[lookup[key]]; }
set { array[lookup[key]] = value; }
}
}
class Program
{
static void Main(string[] args)
{
Table<int, string> table = new Table<int, string>();
table.Add(10001, "Joe", "Curly", "Mo");
table.Add(10002, "Alpha", "Beta");
table.Add(10101, "UX-300", "UX-201", "HX-100b", "UT-910");
string[] parts = table[10101];
// returns "UX-300", "UX-201", "HX-100b" and "UT-910".
}
}
- 1. Wie eine Lehre Konstrukt Funktion
- 2. F # Unvollständiges strukturiertes Konstrukt
- 3. Wie lese ich C++ Pointer-Konstrukt?
- 4. dies: SomeObject => Objekt Konstrukt
- 5. Symfony3: Konstrukt Formtype
- 6. GCC 5.1 warnt Cancel Konstrukt innerhalb `parallel für` Konstrukt
- 7. PHP Codeigniter - Eltern :: __ Konstrukt
- 8. Wie heißt das Konstrukt "\\" in Windows?
- 9. , warum die folgenden
- 10. php hält die folgenden
- 11. Wie die folgenden Geschwister in XSLT erhalten
- 12. Wie testen Sie die folgenden Methoden?
- 13. iOS: Wie behebt man die folgenden Warnungsprobleme?
- 14. Wie die folgen der folgenden Grammatik finden
- 15. Wie die folgenden Ziele in opencv implementieren?
- 16. Wie kann ich die folgenden Arrays
- 17. Benutzerdefiniertes SPARQL-Konstrukt mit Enumeration
- 18. Konstrukt Orderbuch von Aufträgen Beispiel
- 19. beschleunigen php :: PDO -> __ Konstrukt
- 20. JAVACC ERROR Wahlkonflikt in (...) * Konstrukt
- 21. Einfaches Captcha - Wie testen?
- 22. Linq to SQL-Konstrukt Verknüpfungstabelle effizienter
- 23. Sind die folgenden genau gleich?
- 24. Algorithmus für die folgenden Hausaufgaben
- 25. Wie erstellt man ein einfaches und einfaches 5-Sterne-Bewertungssystem?
- 26. Ember Einfaches Auth & Ember Einfaches Auth Token
- 27. Wie man ein einfaches Anwendungsfalldiagramm
- 28. Ignoranz ODER Fehler in PHPs "foreach" -Konstrukt?
- 29. Was bedeutet das Konstrukt $ # in bash?
- 30. Konstrukt HTML mit AJAX-Interrupt über Flask
Was ist die Frage? –
Wörterbuch? –