C#在某个容器中排列字符串变量

时间:2012-11-26 09:18:42

标签: c# visual-studio-2010 c#-4.0

我是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;

复选框部分基本上处于表单加载状态 有没有办法写一些整洁的代码,减少没有。线?

谢谢

5 个答案:

答案 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);
            }
        }