C# 문자열 리스트로 변환 Split AddRange 사용 방법

문자열을 리스트로 변환해야 하는 경우가 있습니다.

문자열을 리스트로 변환하는 방법으로 Split 또는 AddRange를 사용할 수 있습니다.

Split 또는 AddRange를 사용해 문자열을 리스트로 변환하는 방법을 알아보겠습니다.

 

Split

문자열을 리스트로 변환하는 방법인 Split 사용 방법을 알아보겠습니다.

Split 작성 방법을 먼저 보겠습니다.

문자열.Split(구분자)

 

문자열을 리스트로 변환하기 위해서는 어떤 문자를 기분으로 나눌것인지 지정해야합니다.

지정한 구분자를 기준으로 리스트형태로 값을 반환합니다.

샘플을 보면서 확인해보겠습니다.

using System;
using System.Collections.Generic;

namespace Sample
{
	class Sample
	{
		static void Main(string[] args)
		{
 			string str = "apple,melon,banana";

			// 문자열을 콤마를 구분으로 리스트로 변환
            List<string> list = new List<string>(str.Split(","));

			// 리스트 모든값 출력
			foreach (var rs in list) {
				Console.WriteLine(rs);
			}
		}
	}
}

 

결과

apple
melon
banana

 

문자열에 있는 값을 콤마를 구분으로 나눠 리스트 형태로 값을 받았습니다.

 

 

AddRange

문자열을 리스트로 변환하는 방법인 AddRange 사용 방법을 확인 해보겠습니다.

AddRange 작성 방법을 알아보겠습니다.

리스트.AddRange(문자열)

 

AddRange 는 문자열을 나누는 함수는 아닙니다.

리스트에 값을 추가하고 싶은 경우에 사용됩니다.

하지만 잘 활용을 하면 문자열을 리스트로 변환 할 수 있습니다.

샘플을 보면서 결과가 어떻게 나오는지 확인 해보겠습니다.

using System;
using System.Collections.Generic;

namespace Sample
{
	class Sample
	{
		static void Main(string[] args)
		{
 			string str = "apple,melon,banana";

			// 문자열을 문자 단위로 리스트로 변환
			List<char> list = new List<char>();

			list.AddRange(str);

			// 리스트 모든값 출력
			foreach (var rs in list) {
				Console.WriteLine(rs);
			}
		}
	}
}

 

결과

a
p
p
l
e
,
m
e
l
o
n
,
b
a
n
a
n
a

 

출력된 결과를 확인해보면 문자열이 한 글자씩 나눠졌습니다.

이유는 리스트 선언을 char로 했기 때문입니다.

그리고 Split 처럼 원하는 문자를 지정해 나눌수가 없습니다.

단순히 한 글자씩 나눠서 리스트로 변환하고 싶은 경우에 사용할 수 있는 방법입니다.

 

정리

문자열을 리스트로 변환하는 방법을 알아봤습니다.

Split 와 리스트의 AddRange를 사용 했습니다.

둘 다 문자열을 리스트로 변환 할 수 결과의 차이는 달랐습니다.

특히 AddRange는 문자를 자르는 목적이 아닌 추가 해주는 메소드 이기 때문에 상황에 맞게 사용하면 좋을거 갔습니다.

댓글