1

我是 C# 新手,我的代码中有这么多字符串值

string text1 = textbox1.text;
string text2 = textbox2.text;
string text3 = textbox3.text;
string text4 = textbox4.text;

还有一些布尔值

bool chk1 = checkBox1.Checked;
bool chk2 = checkBox2.Checked;
bool chk3 = checkBox3.Checked;   

我也有复选框类型为真

checkBox2.Checked = true;
checkBox3.Checked = true;
checkBox4.Checked = true;
checkBox5.Checked = true;

复选框部分基本上是在表单加载有没有办法编写一些整洁的代码并减少没有。行数?

谢谢

4

5 回答 5

3

使用数组:

string[] texts = { textbox1.Text, textbox2.Text, textbox3.Text, textbox4.Text };

bool[] checks = { checkBox1.Checked, checkBox2.Checked, checkBox3.Checked };
于 2012-11-26T09:22:10.093 回答
0

在这里理解您的上下文并不容易。这些字符串是什么?由于它是重复的,我唯一想到的就是使用数组来减少代码行数。

于 2012-11-26T09:21:59.343 回答
0
var texts = { textbox1.Text, textbox2.Text, textbox3.Text, textbox4.Text };
var checks = { checkBox1.Checked, checkBox2.Checked, checkBox3.Checked };

为文本框和复选框提供特殊数组也很好。

于 2012-11-26T09:24:50.330 回答
0

如果字符串和布尔值每次都以固定数字创建,我倾向于使用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; }
}
于 2012-11-26T09:31:58.423 回答
0

您可以试试这个:(只需更改您想要的控件类型)

        List<String> TextList = new List<string>();
        foreach (var item in Controls)
        {
            if (item is TextBox)
            {
                TextList.Add(((TextBox)item).Text);
            }
        }
于 2012-11-26T09:40:31.030 回答