求教个问题:如何判断泛型T对象是否为default(T)

CADILLAC_AC 2010-11-16 08:53:35
设 T Item;
判断Item是否为default(T)时,如果写成Item.Equals(default(T))时 ,会因为Item为null而使得语句报错的,Item==default(T)又不能写,请问该如何办呢?
...全文
250 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
CADILLAC_AC 2010-11-16
  • 打赏
  • 举报
回复
恩,谢谢了。好用
CADILLAC_AC 2010-11-16
  • 打赏
  • 举报
回复
回Lost_Painting, 泛型如果没有加约束如何判断是否为null?要能判断就不去判断default(T)了
bloodish的方法给力。先测试一下。
鸭梨山大帝 2010-11-16
  • 打赏
  • 举报
回复
别纠结,判断两次就可以了.

先判断NULL,不是NULL再来判断是否为 default(T)
bloodish 2010-11-16
  • 打赏
  • 举报
回复
使用Object.Equals(Object objectA,Object objectB);
如果有泛型约束为引用类型
void foo<T>()where T:class
你是可以使用Item==default(T)判断是否为null的

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧