请教一个关于textbox方面的问题,谢谢! 大家好,请问一个textbox,如果没有给他输入值的话,那么他的值是null呢?还是空字符串""呢?谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 null也是""也是还有textbox.text.length==0也是空 不知道ls怎么想的怎么可能同时是两个值.net的textbox没有输入值是text是"",length=0java的textbox才会是null 应该是空字符串,对象空是null,值空是空字符串 这个自己试一下就知道了。既是null也是"",this.textbox.text.trim().length=0 .net的textbox没有输入值是text是"",length=0 java的textbox才会是null 赞成这的说法! string初始化的默认值是string.Empty,也就是""。 根据经验来看,应该是空字符串“”。但是在一些控件比如GridView的编辑事件中(.net定义好的编辑方法),如果textbox为空那么进数据库里的就是null,要自己另外做空字符串处理(似乎GridView有这个属性,但默认是不处理),不知道微软怎么想的。另外6楼的,.trim()似乎有强制转换为string的意思(纯个人理解),length=0未必能说明它是null吧? 引用 5 楼 cz03081215 的回复:应该是空字符串,对象空是null,值空是空字符串 // 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 的属性值为 nulltextBox1.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 设置默认值为 nullstring s = null;Console.WriteLine(s.Length);// 运行中报错:未将对象引用设置到对象的实例。// 可见 s 的值为 null 所以无法使用 Length 属性// 由此可见 WinForm 中的 TextBox.Text 属性返回的 String 对象是经过了 null 值处理的// 而 java js 里的则是未经过处理 “”,其实null和“”区别也不是很大 最好是""null不好的我试过!我试过!我试过! 如果是null,textBox.Text += "Test"; 异常如果是"", textBox.Text += "Test"; 正常如果你是要判断,可以用String.IsNullOrEmpty(textBox.Text),则两个都同时判断了 是""或Length = 0,而不是 null,我刚才做过测试,谢谢大家的回帖,祝大家一切顺利! C#调用C++写的DLL,32位win7系统失败其他正常,求解??? 如果取得右键菜单当前的控件名? 请推荐设计模式写得比较好的C#源吗 如何解除dataGridView的绑定并清除显示? 我的自由软件,SQL Enterprise Anywhere 索引超出范围。必须为非负值并小于集合大小。 再开一帖,百分献上,定要解决 Merge 后没法update 哪位高手能告诉我在C#中哪个函数是强制转换Int型的 刚学c#,在单步调试时候,出现调试不能进入swich语句,怎么回事? 菜鸟问题 [IE编程]如何屏蔽WebBrowser的保存对话框? 出错了,可错在哪呢?
.net的textbox没有输入值是text是"",length=0
java的textbox才会是null
既是null也是"",this.textbox.text.trim().length=0
java的textbox才会是null
赞成这的说法!
但是在一些控件比如GridView的编辑事件中(.net定义好的编辑方法),如果textbox为空那么进数据库里的就是null,要自己另外做空字符串处理(似乎GridView有这个属性,但默认是不处理),不知道微软怎么想的。
另外6楼的,.trim()似乎有强制转换为string的意思(纯个人理解),length=0未必能说明它是null吧?
应该是空字符串,对象空是null,值空是空字符串
// 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 里的则是未经过处理
null不好的
我试过!我试过!我试过!
如果是"", textBox.Text += "Test"; 正常如果你是要判断,可以用String.IsNullOrEmpty(textBox.Text),则两个都同时判断了