Was darüber.
class NestedSortedList<T> : SortedList<T, NestedSortedList<T>> { }
und -prüfung ..
internal class Program
{
private static void Main(string[] args)
{
var nestedSortedList = new NestedSortedList<string>();
nestedSortedList.Add("1", new NestedSortedList<string>());
nestedSortedList.Add("2", new NestedSortedList<string>());
nestedSortedList.Add("3", new NestedSortedList<string>());
nestedSortedList["1"].Add("11", new NestedSortedList<string>());
nestedSortedList["2"].Add("21", new NestedSortedList<string>());
nestedSortedList["2"].Add("22", new NestedSortedList<string>());
foreach (var item in nestedSortedList)
{
Console.WriteLine(item);
foreach (var value in item.Value.Values)
{
Console.WriteLine(value);
}
Console.WriteLine();
}
Console.ReadLine();
}
}
Dies ist die Ausgabe
EDIT >>> Ohne NestedSortedList Klasse
Erstellen können Sie die folgenden versuchen, obwohl Du wirst mit all diesen hässlichen Würfen fertig werden müssen.
internal class Program
{
private static void Main(string[] args)
{
var sortedList = new SortedList();
sortedList.Add("1", new SortedList());
sortedList.Add("2", new SortedList());
sortedList.Add("3", new SortedList());
((SortedList)sortedList["1"]).Add("11", new SortedList());
((SortedList)sortedList["2"]).Add("21", new SortedList());
((SortedList)sortedList["2"]).Add("22", new SortedList());
foreach (DictionaryEntry dictionaryEntry in sortedList)
{
Console.WriteLine("Key: {0}, Value: {1}",dictionaryEntry.Key,dictionaryEntry.Value);
foreach (DictionaryEntry innerDictionaryEntry in (SortedList)dictionaryEntry.Value)
{
Console.WriteLine("Inner >>> Key: {0}, Value: {1}", innerDictionaryEntry.Key,
innerDictionaryEntry.Value);
}
Console.WriteLine();
}
Console.ReadLine();
}
}
Und die Ausgabe ...
Aber bitte hüten. Da nicht generische SortedList Typ empfängt Objekt als Schlüssel und Wert bedeuten, könnten Sie speichern je nachdem, was Objekt, das Sie wollen, aber Sie werden immer brauchen, um sie richtig gegossen, um sie zu benutzen, als seine ursprüngliche Art beabsichtigt ist,
verwendet werden Hoffe, das hilft
Sie möchten wahrscheinlich ein [Wörterbuch] (https://msdn.microsoft.com/en-us/library/xfhwa508 (v = vs.110) .aspx) – FortyTwo
Profi-Tipp: C# ist ein ** statisch typisierte ** Sprache. Ihr Beispiel könnte immer nur mit nicht typisierten Sprachen wie PHP oder JavaScript arbeiten, oder mit * dynamic * –
Datenstrukturen sind ein viel größeres Thema in stark typisierten Sprachen. Wenn Sie Ihre genauen Anforderungen besser kennen, könnten wir Sie in die richtige Richtung führen. Sie sollten fast sicher Generika verwenden. Nicht-generische 'SortedList' haben heutzutage ein bisschen eine milde Dekade. –