加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – Nullable类型之间的转换

发布时间:2020-12-15 04:15:30 所属栏目:百科 来源:网络整理
导读:.NET 4.0中是否有转换器支持可空类型之间的转换以缩短指令,例如: bool? nullableBool = GetSomething();byte? nbyte = nullableBool.HasValue ? (byte?)Convert.ToByte(nullableBool.Value) : null; 解决方法 不是我知道的. 你可以写一个这样的辅助方法: p
.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);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读