Ein Wörterbuch ist ein Schlüssel/Wert-Paar, bei dem der Wert abhängig vom Schlüssel abgerufen wird. Die Schlüssel sind alle einzigartig.
Nun, wenn Sie ein Dictionary
mit 1 keytype und mehrere Werttypen möchten, haben Sie ein paar Optionen:
zuerst zu bedienen ist ein Tuple
var dict = new Dictionary<KeyType, Tuple<string, string, bool, int>>()
Der andere zu verwenden ist (mit C# 4.0 und höher):
var dict = new Dictionary<KeyType, dynamic>()
Die System.Dynamic.ExpandoObject
kann Wert eines beliebigen Typs haben.
using System;
using System.Linq;
using System.Collections.Generic;
public class Test {
public static void Main(string[] args) {
dynamic d1 = new System.Dynamic.ExpandoObject();
var dict = new Dictionary<int, dynamic>();
dict[1] = d1;
dict[1].FooBar = "Aniket";
Console.WriteLine(dict[1].FooBar);
dict[1].FooBar = new {s1="Hello", s2="World", s3=10};
Console.WriteLine(dict[1].FooBar.s1);
Console.WriteLine(dict[1].FooBar.s3);
}
}
Ich nehme an, Sie möchten ein Schlüsselwertpaar mit dem Wert eine Liste sein? Es ist gültig zu tun: 'var d = new Dictionary>();' oder was auch immer Sie eine Liste speichern möchten. –
Sie müssen erklären, was Sie ein bisschen besser wollen. Die aktuelle Erklärung sagt eigentlich nichts. Geben Sie ein Beispiel dafür, wie Sie das Wörterbuch verwenden können, das Sie sich vorstellen. – Pete
Das Wörterbuch benötigt 2 Argumente. Was versuchen Sie letztendlich hier zu erreichen? – MethodMan