在C#中转换数组的优雅方法?

在C#中转换数组的优雅方法?,c#,linq,C#,Linq,是否有一种很好的LINQ(或其他)方法通过对现有数组的每个元素执行转换来创建新数组 例如,一种替代方案: List<int> numbers = new List<int>(); foreach(string digit in stringArray) { numbers.Add(Convert.ToInt32(digit)); } return numbers.ToArray(); 列表编号=新列表(); foreach(stringArray中的字符串数字) {

是否有一种很好的LINQ(或其他)方法通过对现有数组的每个元素执行转换来创建新数组

例如,一种替代方案:

List<int> numbers = new List<int>();
foreach(string digit in stringArray)
{
  numbers.Add(Convert.ToInt32(digit));
}
return numbers.ToArray();
列表编号=新列表();
foreach(stringArray中的字符串数字)
{
添加(转换为32位数字);
}
返回数字。ToArray();

是的!LINQ非常适合这种事情。下面是一个示例,使用:

BFree的方法语法等价。这里有一个关于两者区别的例子。

像这样的吗

return stringArray.Select(s => Convert.ToInt32(s)).ToArray();
int[] numbers = stringArray.Select(s => Convert.ToInt32(s)).ToArray();
或者,使用查询语法:

int[] numbers = (from s in stringArray
                 select Convert.ToInt32(s)).ToArray();
int[] numbers = (from s in stringArray
                 select Convert.ToInt32(s)).ToArray();