如何验证四个文本框的值是否为空字符串,并将这些文本框分配为“”;0”;值,如果它在具有最小代码的C#中为空

本文关键字:文本 如果 代码 验证 何验证 四个 是否 字符串 分配 | 更新日期: 2023-09-27 18:00:42

我在C#中有四个文本框,如果任何文本框的值是:空字符串,那么它必须赋值为"0"。我已经尝试了以下代码,它似乎很长。

                if (txtReset1.Text == "")
                {
                    txtReset1.Text = "0";
                }
                if (txtReset2.Text == "")
                {
                    txtReset2.Text = "0";
                }
                if (txtReset3.Text == "")
                {
                    txtReset3.Text = "0";
                }
                if (txtReset4.Text == "")
                {
                    txtReset4.Text = "0";
                }

还有比上面的代码更有效的代码吗?

如何验证四个文本框的值是否为空字符串,并将这些文本框分配为“”;0”;值,如果它在具有最小代码的C#中为空

与其重复,不如创建一个新方法来处理它:

private void SetEmptyTextBoxToZero(TextBox textBox)
{
    if (textBox != null && string.IsNullOrEmpty(textBox.Text)
    {
        textBox.Text = "0";
    }
}

然后您将代码替换为:

SetEmptyTextBoxToZero(txtReset1);
SetEmptyTextBoxToZero(txtReset2);
SetEmptyTextBoxToZero(txtReset3);
SetEmptyTextBoxToZero(txtReset4);

正如"Binkan Salaryman"所建议的那样,如果你有很多文本框需要以这种方式处理,那么你可以将对它们的引用存储在列表中,然后对它们进行迭代,而不是像上面那样列出它们:

var textBoxes = new List<TextBox> { txtReset1, txtReset2, txtReset3, txtReset4 };
...
// Option 1: using .ForEach()
textBoxes.ForEach(tb => SetEmptyTextBoxToZero(tb));
// Option 2: using foreach
foreach (var tb in textBoxes)
{
    SetEmptyTextBoxToZero(tb);
}
相关文章: