programing

정수 배열을 쉼표로 구분된 문자열로 변환

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

정수 배열을 쉼표로 구분된 문자열로 변환

간단한 질문입니다.저는 C#의 초보자인데 어떻게 하면 다음 작업을 수행할 수 있을까요?

  • 정수 배열을 쉼표로 구분된 문자열로 변환합니다.

있습니다

int[] arr = new int[5] {1,2,3,4,5};

한 문자열로 변환하고 싶다

string => "1,2,3,4,5"
var result = string.Join(",", arr);

여기에는 다음과 같은 과부하가 사용됩니다.string.Join:

public static string Join<T>(string separator, IEnumerable<T> values);

.NET 4

string.Join(",", arr)

.NET 이전 버전

string.Join(",", Array.ConvertAll(arr, x => x.ToString()))
int[] arr = new int[5] {1,2,3,4,5};

Linq를 사용할 수 있습니다.

String arrTostr = arr.Select(a => a.ToString()).Aggregate((i, j) => i + "," + j);

이 작업을 쉽게 하기 위해 두 가지 확장 방식을 사용할 수 있습니다.

public static string ToDelimitedString<T>(this IEnumerable<T> lst, string separator = ", ")
{
    return lst.ToDelimitedString(p => p, separator);
}

public static string ToDelimitedString<S, T>(this IEnumerable<S> lst, Func<S, T> selector, 
                                             string separator = ", ")
{
    return string.Join(separator, lst.Select(selector));
}

자, 이제...

new int[] { 1, 2, 3, 4, 5 }.ToDelimitedString();

LINQ 사용Aggregate정수 배열을 쉼표로 구분된 문자열로 변환하는 방법

var intArray = new []{1,2,3,4};
string concatedString = intArray.Aggregate((a, b) =>Convert.ToString(a) + "," +Convert.ToString( b));
Response.Write(concatedString);

출력은 다음과 같습니다.

1,2,3,4

이는 .net 4가 설치되어 있지 않은 경우 사용할 수 있는 솔루션 중 하나입니다.

언급URL : https://stackoverflow.com/questions/4756565/convert-array-of-integers-to-comma-separated-string

반응형