Преобразуйте строку [] в int [] в одну строку кода, используя LINQ
У меня есть массив целых чисел в виде строки:
var arr = new string[] { "1", "2", "3", "4" };
Мне нужно массивреальный» целые числа, чтобы подтолкнуть его дальше:
void Foo(int[] arr) { .. }
Я пытался привести int, и это, конечно, не удалось:
Foo(arr.Cast.ToArray());
Я могу сделать следующее:
var list = new List(arr.Length);
arr.ForEach(i => list.Add(Int32.Parse(i))); // maybe Convert.ToInt32() is better?
Foo(list.ToArray());
или же
var list = new List(arr.Length);
arr.ForEach(i =>
{
int j;
if (Int32.TryParse(i, out j)) // TryParse is faster, yeah
{
list.Add(j);
}
}
Foo(list.ToArray());
но оба выглядят некрасиво.
Есть ли другие способы выполнить задачу?