只键入非空字段?

时间:2011-02-27 10:49:57

标签: c#

string[] lines = { textBox1.Text, textBox2.Text, textBox3.Text, textBox4.Text, textBox5.Text, textBox6.Text };
Random RandString = new Random();
string text = lines[RandString.Next(0, lines.Length)];
SendKeys.SendWait(text);

如何选择带有文字的textBox?我试图将数据string[] lines排序为新的string[] hasText,但我不确定如何检查textBox中是否包含文本。

如果textBox字段为null,它仍将通过RandString进行处理,SendKeys将尝试将其键入。我该如何解决这个问题?

感谢。

2 个答案:

答案 0 :(得分:2)

您可以使用LINQ过滤数组:

string[] hasText = lines.Where(s => !String.IsNullOrEmpty(s)).ToArray();

答案 1 :(得分:0)

使用IsNullOrEmpty(here

TextBox[] textboxes = { textBox1, textBox2, textBox3, textBox4, textBox5, textBox6};

List<string> lines = new List<string>();

foreach(Textbox tb in textboxes)
{
    if (!tb.text.IsNullOrEmpty()
    {
        lines.Add(tb);
    }
}

Random RandString = new Random();
string text = lines[RandString.Next(0, lines.Length)];
SendKeys.SendWait(text);

注意:我还没有编译它