是否有一种灵活的方法可以将List <int?>转换为List <int>而不需要循环?</int> </int?>

时间:2012-11-08 22:45:34

标签: c#

是否有一种灵活的方法可以将非空的List<int?>转换为没有循环的List<int>

2 个答案:

答案 0 :(得分:3)

您可以使用null-coalescing operator

var result = myList.Select(x => x ?? default(int)).ToList(); 

答案 1 :(得分:2)

不,没有参考保存演员来做这件事。 List<int>List<int?>是不同的不兼容类型。

您需要创建一个暗示使用循环(直接或间接)的副本。使用LINQ避免了代码中的显式循环,但显然它仍在内部使用循环。