是否有一個很好的LINQ(或其他)方法通過對現有數組的每個元素執行轉換來創建新數組?在C#中轉換數組的優雅方式?
E.g.替代:
List<int> numbers = new List<int>();
foreach(string digit in stringArray)
{
numbers.Add(Convert.ToInt32(digit));
}
return numbers.ToArray();
是否有一個很好的LINQ(或其他)方法通過對現有數組的每個元素執行轉換來創建新數組?在C#中轉換數組的優雅方式?
E.g.替代:
List<int> numbers = new List<int>();
foreach(string digit in stringArray)
{
numbers.Add(Convert.ToInt32(digit));
}
return numbers.ToArray();
return stringArray.Select(s => Convert.ToInt32(s)).ToArray();
是的! LINQ非常適合這種事情。下面是使用query syntax一個例子:
return (from s in stringArray
select Convert.ToInt32(s)).ToArray();
貝麗的answer是方法的語法等效的。這兩個之間的區別是MSDN article。
這樣的事情?
int[] numbers = stringArray.Select(s => Convert.ToInt32(s)).ToArray();
或者,與查詢語法:
int[] numbers = (from s in stringArray
select Convert.ToInt32(s)).ToArray();
1兩者的可讀查詢和方法的語法 – cordialgerm 2010-11-09 22:35:10