문자열 형식의 정수 배열이 있습니다.
var arr = new string[] { "1", "2", "3", "4" };
더 나아가려면 '실제'정수 배열이 필요합니다.
void Foo(int[] arr) { .. }
나는 int를 캐스팅하려고 시도했지만 물론 실패했습니다.
Foo(arr.Cast<int>.ToArray());
다음에 할 수 있습니다 :
var list = new List<int>(arr.Length);
arr.ForEach(i => list.Add(Int32.Parse(i))); // maybe Convert.ToInt32() is better?
Foo(list.ToArray());
또는
var list = new List<int>(arr.Length);
arr.ForEach(i =>
{
int j;
if (Int32.TryParse(i, out j)) // TryParse is faster, yeah
{
list.Add(j);
}
}
Foo(list.ToArray());
하지만 둘 다 못 생겼어
작업을 완료하는 다른 방법이 있습니까?
3
단순히 하나의 컬렉션을 반복하고 값을 변환하고 두 번째 컬렉션에 추가하면 무엇이 잘못됩니까? 나에게 의도가 분명한 것 같습니다.
—
Ed S.
그냥 참고로, 여기이 질문을 사용하고 있습니다 : stackoverflow.com/questions/1297325/...을
—
알렌 쌀
TryParse는 더 빠르지 않습니다 (문자열이 유효하지 않은 경우를 제외 하고 는 예외로 경고합니다).
—
usr