간단한 질문입니다. 나는 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가 설치되어 있지 않은 경우 사용할 수있는 솔루션 중 하나입니다.
답변
