如何验证四个文本框的值是否为空字符串,并将这些文本框分配为“”;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";
}
还有比上面的代码更有效的代码吗?
与其重复,不如创建一个新方法来处理它:
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);
}