我经常面临的问题是将列表的元素转换为另一个列表,并转换相同的元素.例:
List<string> numbers = ...;
List<int> parsedNumbers = new List<int>();
foreach(var n in numbers)
parsedNumbers.Add(parse(n));
Run Code Online (Sandbox Code Playgroud)
是否有可能在C#中以另一种更简单的方式进行映射?有点像numbers.Map(x -> parse(x)).
var parsedNumbers = numbers.Select(n=>int.Parse(n)).ToList();
Run Code Online (Sandbox Code Playgroud)
您也可以使用List的ConvertAll方法.
var parsedNumbers = numbers.ConvertAll(n => int.Parse(n));
Run Code Online (Sandbox Code Playgroud)
和更短的版本
var parsedNumbers = numbers.Select(int.Parse).ToList();
var parsedNumbers = numbers.ConvertAll(int.Parse);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1328 次 |
| 最近记录: |