我是C#的新手我在我的代码中有这么多字符串值
string text1 = textbox1.text;
string text2 = textbox2.text;
string text3 = textbox3.text;
string text4 = textbox4.text;
以及一些bool值
bool chk1 = checkBox1.Checked;
bool chk2 = checkBox2.Checked;
bool chk3 = checkBox3.Checked;
我也有复选框类型为真
checkBox2.Checked = true;
checkBox3.Checked = true;
checkBox4.Checked = true;
checkBox5.Checked = true;
复选框部分基本上处于表单加载状态 有没有办法写一些整洁的代码,减少没有。线?
谢谢
答案 0 :(得分:3)
使用数组:
string[] texts = { textbox1.Text, textbox2.Text, textbox3.Text, textbox4.Text };
bool[] checks = { checkBox1.Checked, checkBox2.Checked, checkBox3.Checked };
答案 1 :(得分:0)
在这里理解你的背景并不容易。这些字符串是什么? 因为它是重复的,所以我唯一想到的就是使用数组,以减少代码行。
答案 2 :(得分:0)
var texts = { textbox1.Text, textbox2.Text, textbox3.Text, textbox4.Text };
var checks = { checkBox1.Checked, checkBox2.Checked, checkBox3.Checked };
为文本框和复选框设置特殊数组也很好。
答案 3 :(得分:0)
如果每次在修订号中创建字符串和bool,我倾向于使用Arrays
。
string[] texts = { textbox1.Text, textbox2.Text, textbox3.Text, textbox4.Text };
bool[] checks = { checkBox1.Checked, checkBox2.Checked, checkBox3.Checked };
如果没有,我会使用List<string> and List<bool>
,您可以添加和删除您的值。
List<string> myTexts = new List<string>();
myTexts.Add(textbox1.Text);
您可以像在数组中一样访问这些值:
Console.Write(myTexts[0]);
您还可以考虑使用具有属性的类来管理变量:
class myValues
{
internal string text1 { get; set; }
internal string text2 { get; set; }
internal string text3 { get; set; }
internal string text4 { get; set; }
}
答案 4 :(得分:0)
您可以尝试:(只需更改所需控件的类型)
List<String> TextList = new List<string>();
foreach (var item in Controls)
{
if (item is TextBox)
{
TextList.Add(((TextBox)item).Text);
}
}