我正在将可空数组转换为无法使用的数组.这是我当前的代码,有两个函数调用:
myarray.Where(e => e.HasValue).Select(e => e.Value)
Run Code Online (Sandbox Code Playgroud)
它看起来像一个非常基本的操作.是否有可能在一次通话中这样做?
你总是可以做你自己的扩展,但这只会让你的代码看起来更简洁,老实说你的实现是最简洁明了的
public static IEnumerable<T> GetNonNullValues<T>(this IEnumerable<Nullable<T>> items) where T: struct
{
return items.Where(a=>a.HasValue).Select(a=>a.Value);
}
Run Code Online (Sandbox Code Playgroud)
myarray.OfType<int>();
Run Code Online (Sandbox Code Playgroud)
这是有效的,因为如果它们不为null,则可以为其底层类型使用可空类型,但如果它们为null则不会.
| 归档时间: |
|
| 查看次数: |
1874 次 |
| 最近记录: |