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