c# – Nullable类型之间的转换

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

解决方法

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

像这样称呼它:

  1. byte? nbyte = NullableConvert(nullableBool,Convert.ToByte);

猜你在找的C#相关文章