C#中textBox1.Text.Trim()==“” 和textBox1.Text.Trim()...
答案:2 悬赏:50 手机版
解决时间 2021-02-06 06:36
- 提问者网友:献世佛
- 2021-02-05 07:26
C#中textBox1.Text.Trim()==“” 和textBox1.Text.Trim()...
最佳答案
- 五星知识达人网友:三千妖杀
- 2021-02-05 08:18
先你这个语句就是有问题的。对于什么是""什么是NULL你应该有所了解。
比如我定义一个变量 string mm="";此时mm==""返回的是true;
如果你定义变量的时候这样定义 string mm=mm.Empty();那么mm==null返回的是true;
所以可以下如下结论""其实代表一个空字符串,但是它却是字符串。
而null表示你定义的mm这个字符串变量没有被初始化,程序只是声明了它,但是没有为它分配内存空间。但是""程序已经为mm分配内存空间了。
而textBox1定义的过程中就已经为其分配空间,并存放了"",因此textBox1.Text.Trim()==“” 返回true;textBox1.Text.Trim()==NULL返回flase;我的回答明白吗?
比如我定义一个变量 string mm="";此时mm==""返回的是true;
如果你定义变量的时候这样定义 string mm=mm.Empty();那么mm==null返回的是true;
所以可以下如下结论""其实代表一个空字符串,但是它却是字符串。
而null表示你定义的mm这个字符串变量没有被初始化,程序只是声明了它,但是没有为它分配内存空间。但是""程序已经为mm分配内存空间了。
而textBox1定义的过程中就已经为其分配空间,并存放了"",因此textBox1.Text.Trim()==“” 返回true;textBox1.Text.Trim()==NULL返回flase;我的回答明白吗?
全部回答
- 1楼网友:舊物识亽
- 2021-02-05 08:36
textbox1.text.trim()==“”
计算机是这样比较的
cmp dword ptr ss:[ebp-4],0 说白了就是直接比较textbox1.text.trim()是不是等于0
textbox1.text.trim()==null
计算机是这样比较的
lea eax,dword ptr ss:[ebp-4]
test eax,eax 其实就是比较textbox1.text.trim()的值的内存地址是不是0
既然有值了那么就一定有相应的内存地址(即使值为空),
所以 textbox1.text.trim()是不可能等于null的
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯