2011-02-27 4 views
0
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에 텍스트가 들어 있는지 확인하는 방법을 잘 모르겠습니다.null이 아닌 필드 만 입력 하시겠습니까?

textBox 필드가 null이면 여전히 RandString을 통해 처리되고 SendKeys는이를 입력하려고 시도합니다. 이 문제를 어떻게 해결할 수 있습니까?

감사합니다.

답변

2

당신은 LINQ와 배열을 필터링 할 수 있습니다 :

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

감사에게 많은 LINQ 바위를 컴파일하지 않았습니다. =) – Kyle

0

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); 

주를 IsNullOrEmpty (here)를 사용 : 나는 그것을

관련 문제