Tôi có một mảng các số nguyên ở dạng chuỗi:
var arr = new string[] { "1", "2", "3", "4" };
Tôi cần một loạt các số nguyên 'thực' để đẩy nó đi xa hơn:
void Foo(int[] arr) { .. }
Tôi đã cố gắng để int int và tất nhiên nó đã thất bại:
Foo(arr.Cast<int>.ToArray());
Tôi có thể làm tiếp theo:
var list = new List<int>(arr.Length);
arr.ForEach(i => list.Add(Int32.Parse(i))); // maybe Convert.ToInt32() is better?
Foo(list.ToArray());
hoặc là
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());
nhưng cả hai trông xấu xí.
Có cách nào khác để hoàn thành nhiệm vụ?