C# 如果文本框为空,则假定变量为0#

C# 如果文本框为空,则假定变量为0#,c#,C#,这可能是问这个问题的错误方式,但我需要弄清楚,如果文本框为空,如何将我正在解析的值设为0 我有两个文本框(LaborCharge和PartsCharge) 用户无需输入费用值。假设他们将两个文本框中的一个都留空,我希望从文本框中解析的值为=0,这样我就可以使用它来计算人工和零件的总数 谢谢 将文本框的值与运行.Net 4.0的文本框进行比较,或者如果您正在运行.Net 4.0,则比较适合您 if (String.IsNullOrEmpty(LaborCharge.Text))

这可能是问这个问题的错误方式,但我需要弄清楚,如果文本框为空,如何将我正在解析的值设为0

我有两个文本框(LaborCharge和PartsCharge)

用户无需输入费用值。假设他们将两个文本框中的一个都留空,我希望从文本框中解析的值为=0,这样我就可以使用它来计算人工和零件的总数


谢谢

将文本框的值与运行.Net 4.0的文本框进行比较,或者如果您正在运行.Net 4.0,则比较适合您

        if (String.IsNullOrEmpty(LaborCharge.Text))
            //Set your variable to zero
        else
           //Process your code

使用类似以下内容:

int charge = 0;
int.TryParse(LaborCharge.Text, out charge);
...

如果由于字符串为null、为空或不包含数字而导致转换失败,Try parse会将charge设置为零。()

您始终可以为创建的每个文本框设置默认值0。 这样,您就不必处理空值,如果您不注意(深夜编程…),这有时会导致一些困难

我发现用户通常不介意空框中的0值,而且以后编写更容易:

if(TextBox.Text = "0")
 // enter your code in here

是的,它会将参数设置为
default(int)
。在函数返回之前,必须分配
out
参数+1如果“cat”也出现在文本框中,则该值将设置为0,这可能是您想要做的,也可能不是您想要做的。也许
string.IsNullOrWhitespace
会更好,但我更喜欢
TryParse
。从技术上讲,您正在那里做作业,这会起作用,但会产生意外的副作用:)(如果编译,则始终返回false)。此外,如果用户手动清除文本框怎么办?