none
同样是检测文本框的内容是否为空,不知道null与string.empty的区别是什么啊? RRS feed

  • 问题

  • 我写的一段代码如下:
    if (textBox1.Text != string.Empty)
    {
    MessageBox.Show(textBox1.Text);
    }
    else
    {
    MessageBox.Show("empty");
    }
    同样是检测文本框的内容是否为空,不知道null与string.empty的区别是什么啊?更奇怪的一件事是:只要我把代码中的 string.empty换成NULL,编译后执行程序的逻辑居然是相反的,搞不清楚怎么回事,我的操作系统是WINDOWS2000的英文版,但开发软件却是VISUALSTUDIO2005的中文版。

     

    2007年8月3日 2:44

答案

  • 您关于String.Empty和Null的问题是这样的,这两个都是表示空字符串,其中有一个重点是string str1= String.Empty和 string str2=null 的区别,这样定义后,str1是一个空字符串,空字符串是一个特殊的字符串,只不过这个字符串的值为空,在内存中是有准确的指向的,string str2=null,这样定义后,只是定义了一个string 类的引用,str2并没有指向任何地方,在使用前如果不实例化的话,都将报错。textBox1.Text的值为零长度字符串 ""。

     

    2007年8月3日 3:27