Es ist mir fast peinlich, diese Frage zu stellen, aber als langjähriger C-Programmierer habe ich das Gefühl, dass mir vielleicht der beste Weg, dies in C# zu tun, nicht bewusst ist.Was ist der beste Weg, um zwei Listen in C# zurückzugeben?
Ich habe eine Member-Funktion, die ich zwei Listen eines benutzerdefinierten Typs (List<MyType>
) zurückgeben muss, und ich weiß im Voraus, dass ich immer einen Rückgabewert von nur zwei dieser Listen haben werde.
Die offensichtlichen Optionen sind:
public List<List<MyType>> ReturnTwoLists();
oder
public void ReturnTwoLists(ref List<MyType> listOne, ref List<myType> listTwo);
Beide scheinen nicht optimal.
Haben Sie Vorschläge, wie Sie das verbessern können?
Der erste Weg macht nicht klar in der Syntax, dass nur 2 Listen zurückgegeben werden, und der zweite Weg verwendet Referenzen und dann einen Rückgabewert, die so nicht-C# scheinen.
Nur ein Rest ... .NET 4.0 hat Tuple <> Typ. –
Ich sehe, dass Sie T und U verwendet haben, um die Elemente anzugeben. Wenn Sie mehr als ein 2-Tupel hätten, würden Sie sich für T-U-V-W ... oder T-U-P-L-E entscheiden? :) –
@Mark: habe nicht daran gedacht. Bevor ich darüber nachdenke, würde ich darüber nachdenken, zu F # zu wechseln! –