我正在将可空数组转换为不可空数组。这是我当前的代码,有两个函数调用:
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/