C#应用程序,拖了一个Text,名为:txtPwd,一个button按钮,简写代码如下:
if ((txtPwd.Text.Trim()== "") &&( txtPwd.Text == null)){
MessageBox.Show("OK");
}else{
MessageBox.Show("Error");
}
为什么输出是Error??
我觉得应该是OK啊。
难道是txtPwd.Text == null有问题?
望解释。
我的意思是:解释null和 “”的区别。
去掉后面的肯定可以
c#textPwd.text==null??
答案:5 悬赏:0
解决时间 2021-11-26 07:05
- 提问者网友:失败的占卜者
- 2021-11-25 07:15
最佳答案
- 二级知识专家网友:说多了都是废话
- 2021-11-25 08:17
不要用&& 用 ||
你的文本内容是""就不会是null 是null就不会是""
你用&& 那么(txtPwd.Text.Trim()== "") &&( txtPwd.Text == null)
的值永远是false 当然就只会是执行else语句了 这是你的问题所在
关于""和null的区别是这样的
""是一个字符串 只不过是个空字符串 而null 表示空引用 也就是说没有任何东西
就象空瓶子那么这个瓶子里就是"" 而如果连瓶子都没有 那么就是null
在C#里只有引用类型有null 值类型是没有的
具体的你可以找相关的书看下值类型和引用类型的区别就明白了 这是基础哦~
你的文本内容是""就不会是null 是null就不会是""
你用&& 那么(txtPwd.Text.Trim()== "") &&( txtPwd.Text == null)
的值永远是false 当然就只会是执行else语句了 这是你的问题所在
关于""和null的区别是这样的
""是一个字符串 只不过是个空字符串 而null 表示空引用 也就是说没有任何东西
就象空瓶子那么这个瓶子里就是"" 而如果连瓶子都没有 那么就是null
在C#里只有引用类型有null 值类型是没有的
具体的你可以找相关的书看下值类型和引用类型的区别就明白了 这是基础哦~
全部回答
- 1楼网友:虚伪的现实
- 2021-11-25 13:07
null改成""行吗?
再看看别人怎么说的。
- 2楼网友:专属的偏见
- 2021-11-25 11:54
txtPwd.Text == null
怎么可能等于NULL呢,只是字符串长度为0罢了
- 3楼网友:初心未变
- 2021-11-25 10:33
为什么要用&&?NULL是说对象是空的一般是没有实例话的所以你完全没有必要在这里用NULL,“”这个就是空串了没啥说的吧,另外你要非要用null建议你用||就是或者的意思。。。。通常情况下不会既是空串又没有实例化吧很矛盾的
- 4楼网友:陪伴是最长情的告白
- 2021-11-25 08:57
NULL代表声明了一个空对象,根本就不是一个字符串。
""代表声明了一个对象实例,这个对象实例的值是一个长度为0的空字符串。
NULL代表声明了一个空对象,对空对象做任何操作都不行的,除了=和==
""是一个字符串了,只是这个字符串里面没有内容了
txtPwd.Text =null;只是定义了一个句柄,也就是说你有了个引用,但是这个引用未指乡任何内存空间
txtPwd.Text.Trim()== "";这个引用已经指向了一块是空字符串的内存空间,是一个实际的东东
简单来说:
null是空对象 ""是空字符串
null是未分配堆内存空间
String temp;//分配了一个内存空间,没存入任何对象
String temp="";//分配了一个内存空间,存了一个字符串对象
希望对你有帮助..
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯