Helper Funktion um List<T> mit nur einem Element erzeugen
-
Gibt es im .NET Framework eine Helper Funktion um eine
List<T>
mit nur einem Element erzeugen?
Quasi einList<string> list = Utility.MakeSingleElementList("sepp");
Passenden Konstruktor hat List ja nicht (vermutlich um gröbere Verwirrung bei List<int> zu vermeiden)... hmpf.
Ist natürlich easy-peasy selbst gestrickt. Ich möchte lediglich vermeiden etwas was schon im Framework existiert in einer unserer Libraries zu duplizieren, daher die Frage.
-
List<string> s = new List<string>() {"sepp"};
Reicht dir das?
-
ja
danke!ich = C# noob
@all
cooles feature.
doku von MS is recht dürftig, aber naja:
http://msdn.microsoft.com/en-us/library/bb384062.aspxhier steht dann etwas mehr dazu wie es funktioniert, und wie man es für eigene typen "enablen" kann:
http://stackoverflow.com/questions/459652/why-do-c-collection-initializers-work-this-wayist schon ansatzweise fragwürdig - "IEnumerable + passende Add Funktion" ist schon grenzwertig nahe am "duck typing". aber OK, ist wenigstens nur compile-time, da kann man schonmal drüberwegsehen. vor allem da es ziemlich praktisch ist.
-
Ja stimmt der ObjectInitializer ist ganz praktisch, besonders im zusammenhang mit LINQ, schade nur das man dafür öffentliche properties und nen standard ctor brauch, aber ist halt nich anders umsetzbar.
-
Wenn du es Reactive halten willst, dann kannst du auch über Rx dir einen Wert zurück geben lassen:
var obs = Observable.Return(100);