문자열 배열을 int 배열로 변환하는 방법은 C#에서 문자열을 int로 구문 분석하는 것처럼 쉽습니다.C# 문자열 [] to int []
int a = int.Parse(”123”);
int[] a = int.Parse(”123,456”.Split(’,’)); // this don't work.
int 클래스의 확장 메서드를 사용하여 직접이 기능을 추가하려고했지만 정적이 아닙니다.
어떻게하면 좋을까요?
문자열 배열을 int 배열로 변환하는 방법은 C#에서 문자열을 int로 구문 분석하는 것처럼 쉽습니다.C# 문자열 [] to int []
int a = int.Parse(”123”);
int[] a = int.Parse(”123,456”.Split(’,’)); // this don't work.
int 클래스의 확장 메서드를 사용하여 직접이 기능을 추가하려고했지만 정적이 아닙니다.
어떻게하면 좋을까요?
이 LINQ 쿼리를 수행해야합니다
strArray.Select(s => int.Parse(s)).ToArray()
int[] a = Array.ConvertAll("123,456".Split(','), s => Int32.Parse(s));
는 잘해야한다. 예외를 원하지 않으면 TryParse를 사용하도록 람다를 수정할 수 있습니다.
'Array.ConvertAll'은 LINQy'ToArray()'보다 적은 재 할당을 필요로합니다. 이 경우 람다도 필요 없다.'ConvertAll'의 두 번째 매개 변수로'Int32.Parse'를 전달할 수 있습니다. –
”123,456”.Split(’,’).Select(s => int.Parse(s)).ToArray();
int[] a = "123,456".Split(’,’).Select(s => int.Parse(s)).ToArray();
사용이 :
"123,456".Split(',').Select(s => int.Parse(s)).ToArray()
나는 그렇게 생각 :
여기string[] sArr = { "1", "2", "3", "4" };
int[] res = sArr.Select(s => int.Parse(s)).ToArray();
이 확장 방법이다. 이것은 문자열에 정적 함수를 추가 할 수 없기 때문에 문자열에서 수행됩니다. 여기
public static int[] ToIntArray(this string value)
{
return value.Split(',')
.Select<string, int>(s => int.Parse(s))
.ToArray<int>();
}
는에 분할 할
이 가정string testValue = "123, 456,789";
int[] testArray = testValue.ToIntArray();
당신이
정말 대단 했어. 내가 찾고 있던 바로 그거야. 감사! –
LINQ는 당신이이 작업을 수행 할 수 있도록 마땅 ToIntArray을 변경해야 다음없는 경우 ','를 사용하는 방법입니다 한 줄. 또는 람다 식. –
요청하기 전에이 사이트를 검색하려고 시도 했습니까? –