Ich habe eine Zeichenfolge:
var names = "Brian,Joe,Chris";
Gibt es eine Möglichkeit, dies in eine Zeile zu konvertieren, die von List<string>
in ,
begrenzt ist?
List<string> result = names.Split(new char[] { ',' }).ToList();
Oder noch sauberer nach Dans Vorschlag:
List<string> result = names.Split(',').ToList();
Der List<T>
hat einen Konstruktor, der einen IEnumerable<T>
akzeptiert:
List<string> listOfNames = new List<string>(names.Split(','));
Ich bevorzuge das, weil es eine einzelne Elementliste mit einem leeren Element verhindert, wenn Ihre Quellzeichenfolge leer ist:
IEnumerable<string> namesList =
!string.isNullOrEmpty(names) ? names.Split(',') : Enumerable.Empty<string>();
Teilen Sie eine durch Zeichen begrenzte Zeichenfolge und geben Sie alle nicht leeren Elemente zurück.
var names = ",Brian,Joe,Chris,,,";
var charSeparator = ",";
var result = names.Split(charSeparator, StringSplitOptions.RemoveEmptyEntries);
https://docs.Microsoft.com/en-us/dotnet/api/system.string.split?view=netframework-4.8
Wenn Sie bereits über eine Liste verfügen und Werte aus einer Trennzeichenfolge hinzufügen möchten, können Sie AddRange
oder InsertRange
verwenden. Zum Beispiel:
existingList.AddRange(names.Split(','));