[c#] 문자열을 한 줄로 List <string>으로 변환 하시겠습니까?

문자열이 있습니다.

var names = "Brian,Joe,Chris";

이것을 한 줄로 List<string>구분 기호 로 변환하는 방법이 ,있습니까?



답변

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

또는 Dan의 제안으로 더 깨끗하게 :

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


답변

List<T>받아들이는 생성자가 IEnumerable<T>:

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


답변

소스 문자열이 비어있는 경우 빈 항목이있는 단일 항목 목록을 방지하기 때문에 이것을 선호합니다.

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


답변

문자로 구분 된 문자열을 분할하고 비어 있지 않은 모든 요소를 ​​반환합니다.

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


답변

string given="Welcome To Programming";
List<string> listItem= given.Split(' ').ToList();//Split according to space in the string and added into the list

산출:

Welcome

To

Programming


답변

이미 목록을 가지고와 구분 된 문자열 값을 추가하려는 경우, 당신은 사용할 수 있습니다 AddRange또는 InsertRange. 예를 들면 :

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


답변

Stringify.Library 너겟 패키지 사용

//Default delimiter is ,
var split = new StringConverter().ConvertTo<List<string>>(names);

//You can also have your custom delimiter for e.g. ;
var split = new StringConverter().ConvertTo<List<string>>(names, new ConverterOptions { Delimiter = ';' });