.Split()
뒤에이 int[]
배열을 어떻게 얻을 수 있습니까?System.Array에 ToArray에 대한 정의가 없습니다.
string s = "1,2,3,4";
int[] a = s.Split(',').ToArray<int>();
.Split()
뒤에이 int[]
배열을 어떻게 얻을 수 있습니까?System.Array에 ToArray에 대한 정의가 없습니다.
string s = "1,2,3,4";
int[] a = s.Split(',').ToArray<int>();
Split은 마술처럼 int 값을 제공하지 않으므로 문자열 배열을 반환합니다. 그래서 당신은 개종해야 할 것입니다.
s.Split(',').Select(x => Convert.ToInt32(x)).ToArray();
int로. –
는'ALL 기타 사항 서보 -OFF가 (변환하지 않을까요 []' –
@BenjaminGruenbaum이 경우가 아니라면, 아마도 Convert.ToInt32의 다중 오버로드가 원인이라고 생각합니다. –
라파엘 말한대로 내가 할 것입니다,하지만 당신은 람다 식에 익숙하지 않은 경우 (은 x => .. 일부) 대신이를 사용할 수 있습니다. 두 가지 모두 int의 배열을 제공 할 것이지만 Raphaëls 예제가 바람직 할 것입니다. 그러나 람다 식은 어떻게 작동하는지 모를 때 무서울 수 있습니다 : P (기본적으로 "각 문자열 x에 대해 Convert.ToInt32 (x) ".
int[] a = s.Split(',').Select(int.Parse).ToArray();
@ RaphaëlAlthaus, 컴파일하지 않을 이유는 무엇입니까? ? 그것은 단지 방법 그룹입니다. 함수 래퍼에 랩핑 할 필요가 없습니다. –
@ RaphaëlAlthaus 아니요, 코드에 또 하나의 기능이 있습니다 .. –
@ L.B 그래, 내 방법 그룹 정의를 새로 고쳐야 해;) –
문자열'에서 변환 할 수 없습니다 []''나는'.ToArray로하고 있다고 생각 무엇을 그()' –