C# 林奇 : remove null values from an array and return as not nullable

标签 c# linq

我正在将可空数组转换为不可空数组。这是我当前的代码,有两个函数调用:

myarray.Where(e => e.HasValue).Select(e => e.Value)

这看起来是一个非常基本的操作。是否可以一次调用完成?

最佳答案

myarray.OfType<int>();

这是可行的,因为如果可为 null 的类型不为 null,则它们的基础类型会被装箱,但如果它们为 null,则不会。

编辑:我唯一要指出的是,我制作的单行代码的语义与您的略有不同。可能是你想要你的而不是我的。您的代码:“获取所有具有值的可空对象”。我的代码:“获取所有可以成功转换为 int 的类型”

关于C# 林奇 : remove null values from an array and return as not nullable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38381612/

相关文章:

c# - XDocument.Load() 在 DTD header 中引入空的 InternalSubset

c# - 如何在嵌套查询中使用 DefaultIfEmpty

sql - NHibernate/EF Linq 中的案例声明

c# - 强类型数据集中的 DbNull 替换为 linq 中的字符串

c# - 具有相同权重/值的修改后的背包/子集和

c# - ASP.NET 核心 FromQuery 获取内部带有点号的无效参数

c# - 使用 LINQ 的最佳序列

c# - LINQ:搜索对象列表的多个字段,其中字段可以为空

c# - 按 String 成员对自定义对象的 ArrayList 进行排序

c# - Thrift 非阻塞服务器 c#