有没有一种好的LINQ(或其他)方法,可以通过对现有数组中的每个元素执行变换来创建一个新数组? 例如,与以下内容相比: List<int> numbers = new List<int>(); foreach(string digit in stringArray) { numbers.Add(Convert.ToInt32(digit)); } return numbers.ToArray();
类似这样的内容吗? int[] numbers = stringArray.Select(s => Convert.ToInt32(s)).ToArray(); 或者,使用查询语法: 或者,使用查询语法: int[] numbers = (from s in stringArray select Convert.ToInt32(s)).ToArray();
没错!LINQ非常适合这种事情。以下是使用查询语法的示例: return (from s in stringArray select Convert.ToInt32(s)).ToArray(); BFree的回答是方法语法的等效形式。这里有一篇MSDN文章介绍了两者之间的区别。