2014-09-29 5 views

답변

13

Split은 마술처럼 int 값을 제공하지 않으므로 문자열 배열을 반환합니다. 그래서 당신은 개종해야 할 것입니다.

s.Split(',').Select(x => Convert.ToInt32(x)).ToArray(); 
+1

int로. –

+1

는'ALL 기타 사항 서보 -OFF가 (변환하지 않을까요 []' –

+0

@BenjaminGruenbaum이 경우가 아니라면, 아마도 Convert.ToInt32의 다중 오버로드가 원인이라고 생각합니다. –

6

라파엘 말한대로 내가 할 것입니다,하지만 당신은 람다 식에 익숙하지 않은 경우 (은 x => .. 일부) 대신이를 사용할 수 있습니다. 두 가지 모두 int의 배열을 제공 할 것이지만 Raphaëls 예제가 바람직 할 것입니다. 그러나 람다 식은 어떻게 작동하는지 모를 때 무서울 수 있습니다 : P (기본적으로 "각 문자열 x에 대해 Convert.ToInt32 (x) ".

int[] a = s.Split(',').Select(int.Parse).ToArray(); 
+0

@ RaphaëlAlthaus, 컴파일하지 않을 이유는 무엇입니까? ? 그것은 단지 방법 그룹입니다. 함수 래퍼에 랩핑 할 필요가 없습니다. –

+0

@ RaphaëlAlthaus 아니요, 코드에 또 하나의 기능이 있습니다 .. –

+0

@ L.B 그래, 내 방법 그룹 정의를 새로 고쳐야 해;) –

관련 문제