是否有 .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.Parseint.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))
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top