大家好,请问一个textbox,如果没有给他输入值的话,那么他的值是null呢?还是空字符串""呢?谢谢!

解决方案 »

  1.   

    null也是""也是还有textbox.text.length==0也是空
      

  2.   

    不知道ls怎么想的怎么可能同时是两个值
    .net的textbox没有输入值是text是"",length=0
    java的textbox才会是null
      

  3.   

    应该是空字符串,对象空是null,值空是空字符串
      

  4.   

    这个自己试一下就知道了。
    既是null也是"",this.textbox.text.trim().length=0
      

  5.   

    .net的textbox没有输入值是text是"",length=0 
    java的textbox才会是null 
    赞成这的说法!
      

  6.   

    string初始化的默认值是string.Empty,也就是""。
      

  7.   

    根据经验来看,应该是空字符串“”。
    但是在一些控件比如GridView的编辑事件中(.net定义好的编辑方法),如果textbox为空那么进数据库里的就是null,要自己另外做空字符串处理(似乎GridView有这个属性,但默认是不处理),不知道微软怎么想的。
    另外6楼的,.trim()似乎有强制转换为string的意思(纯个人理解),length=0未必能说明它是null吧?
      

  8.   

    引用 5 楼 cz03081215 的回复:
    应该是空字符串,对象空是null,值空是空字符串 
      

  9.   


    // TextBox.Text属性是 String 类型的值
    // String 是不是个对象呢? 如果不是为什么有 Length 属性和 Trim() 等方法呢? O(∩_∩)O~// 我做了个测试 (WinForm)if (textBox1.Text == null)
    Console.WriteLine("NULL");if (textBox1.Text == "")
    Console.WriteLine("\"\"");if (textBox1.Text == string.Empty)
    Console.WriteLine("Empty");// 设置 textBox1.Text 的属性值为 null
    textBox1.Text = null;if (textBox1.Text == null)
    Console.WriteLine("NULL");if (textBox1.Text == "")
    Console.WriteLine("\"\"");if (textBox1.Text == string.Empty)
    Console.WriteLine("Empty");// 但是输出结果是完全一样的
    // Output: "", Empty// 可见 WinForm 中 TextBox.Text 的默认值是 "" 和 Empty// 继续测试,我定义了 string s 设置默认值为 null
    string s = null;
    Console.WriteLine(s.Length);// 运行中报错:未将对象引用设置到对象的实例。
    // 可见 s 的值为 null 所以无法使用 Length 属性// 由此可见 WinForm 中的 TextBox.Text 属性返回的 String 对象是经过了 null 值处理的
    // 而 java js 里的则是未经过处理
      

  10.   

    “”,其实null和“”区别也不是很大
      

  11.   

    最好是""
    null不好的
    我试过!我试过!我试过!
      

  12.   

    如果是null,textBox.Text += "Test"; 异常
    如果是"", textBox.Text += "Test"; 正常如果你是要判断,可以用String.IsNullOrEmpty(textBox.Text),则两个都同时判断了
      

  13.   

    是""或Length = 0,而不是 null,我刚才做过测试,谢谢大家的回帖,祝大家一切顺利!