.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);