c# textPwd.text==null??

来源:百度知道 编辑:UC知道 时间:2024/07/07 02:55:17
C#应用程序,拖了一个Text,名为:txtPwd,一个button按钮,简写代码如下:
if ((txtPwd.Text.Trim()== "") &&( txtPwd.Text == null)){
MessageBox.Show("OK");
}else{
MessageBox.Show("Error");
}

为什么输出是Error??
我觉得应该是OK啊。
难道是txtPwd.Text == null有问题?
望解释。
我的意思是:解释null和 “”的区别。
去掉后面的肯定可以

NULL代表声明了一个空对象,根本就不是一个字符串。
""代表声明了一个对象实例,这个对象实例的值是一个长度为0的空字符串。

NULL代表声明了一个空对象,对空对象做任何操作都不行的,除了=和==
""是一个字符串了,只是这个字符串里面没有内容了
txtPwd.Text =null;只是定义了一个句柄,也就是说你有了个引用,但是这个引用未指乡任何内存空间
txtPwd.Text.Trim()== "";这个引用已经指向了一块是空字符串的内存空间,是一个实际的东东

简单来说:

null是空对象 ""是空字符串
null是未分配堆内存空间
String temp;//分配了一个内存空间,没存入任何对象
String temp="";//分配了一个内存空间,存了一个字符串对象

希望对你有帮助..

为什么要用&&?NULL是说对象是空的一般是没有实例话的所以你完全没有必要在这里用NULL,“”这个就是空串了没啥说的吧,另外你要非要用null建议你用||就是或者的意思。。。。通常情况下不会既是空串又没有实例化吧很矛盾的

txtPwd.Text == null
怎么可能等于NULL呢,只是字符串长度为0罢了

null改成""行吗?