是否有一种灵活的方法可以将非空的List<int?>
转换为没有循环的List<int>
?
答案 0 :(得分:3)
您可以使用null-coalescing operator:
var result = myList.Select(x => x ?? default(int)).ToList();
答案 1 :(得分:2)
不,没有参考保存演员来做这件事。 List<int>
和List<int?>
是不同的不兼容类型。
您需要创建一个暗示使用循环(直接或间接)的副本。使用LINQ避免了代码中的显式循环,但显然它仍在内部使用循环。