wake-up-neo.net

String in eine Zeile in Liste <string> konvertieren?

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?

78
List<string> result = names.Split(new char[] { ',' }).ToList();

Oder noch sauberer nach Dans Vorschlag:

List<string> result = names.Split(',').ToList();
158
Matt Greer

Der List<T> hat einen Konstruktor, der einen IEnumerable<T> akzeptiert:

List<string> listOfNames = new List<string>(names.Split(','));

37
Nathan Anderson

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>();
2

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

0
Crying Freeman

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(','));
0
c32hedge