求教一个问题~~

yinsuxia 2012-04-27 04:58:12
变量==null 与 null==变量 有什么区别呢???
求解
...全文
89 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
threenewbee 2012-04-27
  • 打赏
  • 举报
回复
你无论写

if (obj = null)
{ }
或者
bool isNull = (obj = null);

都会得到一个编译器错误。
hk08807 2012-04-27
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
第二种 ,避免 == 写成 =

因为第一种写成了 obj = null 是可行的
[/Quote]
二师兄说的对啊./..
shenlei_water 2012-04-27
  • 打赏
  • 举报
回复
没多大区别,支持第二种
梦世界 2012-04-27
  • 打赏
  • 举报
回复
=null 是为变量赋值
至于等于null 不是很懂 ,
==null 是与变量作比较
threenewbee 2012-04-27
  • 打赏
  • 举报
回复
从这里也可以看出来,先进的编程语言应该自身解决那些落后语言中使用奇技淫巧才能解决的问题。

也说明将代码写得优雅、可读比追求那些小聪明小技巧更重要。
EnForGrass 2012-04-27
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

推荐第二种 ,避免 == 写成 =
[/Quote]
没多大区别,支持第二种
fisher_85 2012-04-27
  • 打赏
  • 举报
回复
没区别的吧。。。

string str = "aaaa";
str.Equals("aaaa")和"aaaa".Equals(str)才有区别,str如果是null的时候,str.Equals("aaaa")是会报错的
threenewbee 2012-04-27
  • 打赏
  • 举报
回复
没有区别。

null==变量 是一些水平不高的C程序员为了防止把==写成=而故意这么写的。

不过这么做对于C#没有意义,C#不可能让=的编译通过,因为只有严格bool表达式才能作为if的条件。
bdmh 2012-04-27
  • 打赏
  • 举报
回复
第二种 ,避免 == 写成 =

因为第一种写成了 obj = null 是可行的
wolf_ben 2012-04-27
  • 打赏
  • 举报
回复
区别就是基本没区别

110,536

社区成员

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

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

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