c# – Nullable类型之间的转换

前端之家收集整理的这篇文章主要介绍了c# – Nullable类型之间的转换前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
.NET 4.0中是否有转换器支持可空类型之间的转换以缩短指令,例如:
bool? nullableBool = GetSomething();
byte? nbyte = nullableBool.HasValue ? (byte?)Convert.ToByte(nullableBool.Value) : null;

解决方法

不是我知道的.
你可以写一个这样的辅助方法
public Nullable<TTarget> NullableConvert<TSource,TTarget>(
          Nullable<TSource> source,Func<TSource,TTarget> converter)
    where TTarget: struct
    where TSource: struct
{
    return source.HasValue ? 
               (Nullable<TTarget>)converter(source.Value) : 
               null;
}

像这样称呼它:

byte? nbyte = NullableConvert(nullableBool,Convert.ToByte);
原文链接:https://www.f2er.com/csharp/92274.html

猜你在找的C#相关文章