将列表<int?> 转换为列表<int>

Convert List<int?> to List<int>

假设,我有一个 Nullable Integer's 的列表,我想将此列表转换为仅包含值的 List<int>

你能帮我解决这个问题吗?

过滤掉 null 值,使用 Value 属性 获取数字并使用 ToList:

将它们放入列表中
yourList.Where(x => x != null).Select(x => x.Value).ToList();

您也可以使用Cast

yourList.Where(x => x != null).Cast<int>().ToList();

你试过了吗:

List<int> newList = originalList.Where(v => v != null)
                                .Select(v => v.Value)
                                .ToList();

?

尝试:

 var numbers1 = new List<int?>() { 1, 2, null};
 var numbers2 = numbers1.Where(n => n.HasValue).Select(n => n.Value).ToList();