将 String.Empty 转换为 Nothing/Null
题
是否有 .Net 函数可以做到这一点。我想如果没有我就必须制定自己的方法。
问题是我有一个功能。它接受整数。如果您传递 0 整数或空值,它仍然有效。问题是空文本框的值是 String.Empty 值。
我不想使用 if 。我的意思是可以,但如果我可以像这样调用我的函数,那就更好了
我的函数(txtTextbox.Text)
但它不起作用,因为它无法将 string.empty 转换为整数。
解决方案
我猜你需要:
if(string.IsNullOrEmpty(value)) value = null;
或
int MyFunction(string value) { if(string.IsNullOrEmpty(value)) return 0; int val = 0; int.TryParse(value, out val); return val; }
其他提示
怎么样,嗯,只要在您的函数的字符串一个整数,应该阅读整数,并使用int.Parse
或int.TryParse
事先?
只是从不同的角度,我认为你的文本框也需要只允许数字来输入。否则,只是处理空心不是将要对某人进入非数字防弹。有必须是有些maskings,事件处理程序或验证您为它创建的。如何创建自己的NumTextBox从文本框继承与输入限制的行为,你已经有了,要么重写Text属性或创建一个新的属性值调用看起来所有的转换后,通过始终如一地返回适当的值了你的系统。
尝试此
Sub MyFunction(ByVal Param1Integer as Integer)
' Do Something
End Sub
Sub MyFunction(ByVal Param1String as String)
MyFunction(Val(Param1String))
End Sub
它假定一个空字符串相同0。
您是否考虑过使用 数字上下 (旋转控制)?它有一个 .Value 成员(始终是有效的整数!),而不必从字符串转换。您可以限制上限和下限,也可以设置默认值。
我只想用直列IF语句(VB):
MyFunction(IIf(txtTextBox.Text Is Nothing, "", txtTextBox.Text))
不隶属于 StackOverflow