web-dev-qa-db-ja.com

文字列を1行でList <string>に変換しますか?

私は文字列を持っています:

var names = "Brian,Joe,Chris";

これをList<string>で区切られた,に1行で変換する方法はありますか?

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

ダンの提案でさらにきれいに:

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

List<T>には、IEnumerable<T>を受け入れるコンストラクターがあります。

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

37
Nathan Anderson

ソース文字列が空の場合、空の項目を持つ単一の項目リストを防ぐため、これが好きです:

  IEnumerable<string> namesList = 
      !string.isNullOrEmpty(names) ? names.Split(',') : Enumerable.Empty<string>();
2

文字で区切られた文字列を分割し、空でない要素をすべて返します。

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

すでにリストがあり、区切り文字列から値を追加する場合は、 AddRange または InsertRange を使用できます。例えば:

existingList.AddRange(names.Split(','));
0
c32hedge