programing

문자열을 한 줄의 목록으로 변환하시겠습니까?

codeshow 2023. 4. 12. 22:42
반응형

문자열을 한 줄의 목록으로 변환하시겠습니까?

나는 끈이 있다:

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://learn.microsoft.com/en-us/dotnet/api/system.string.split?view=netframework-4.8

이미 목록이 있고 구분 문자열에서 값을 추가하려면 또는 를 사용합니다.다음은 예를 제시하겠습니다.

existingList.AddRange(names.Split(','));
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

Stringify 를 사용합니다.라이브러리 nuget 패키지

//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 = ';' });

언급URL : https://stackoverflow.com/questions/5011467/convert-string-to-liststring-in-one-line

반응형