2015-05-12 3 views
0

Мой код ниже выглядит только для одной буквы, как я могу искать комбинацию букв? Для напр .: найти буквы «ас» в моем массиве и выводить их textBox2Как найти несколько значений в массиве?

string[] alphabet = new string[] { "a", "b", "c"}; 
for (int letter = 0; letter < alphabet.Length; letter++) 
{ 
    if (textBox1.Text == alphabet[letter]) 
    textBox2.Text = alphabet[letter]; 
} 
+0

Вы хотите проверить, находятся ли все символы в 'textBox1.Text' в' алфавите'? – Andrei

+1

Неясно, как «ac» «связано с вашим массивом? –

+0

@ Andrei да, и выведите их в textbox2; –

ответ

3

Я думаю, вы хотите проверить, если только буквы массива вводятся в текстовое поле:

bool valid = textBox1.Text.All(c => alphabet.Contains(c.ToString())); 

, если это был char[] вы могли бы написать:

bool valid = textBox1.Text.All(alphabet.Contains); 

Тогда вы могли бы также использовать Enumerable.Except, чтобы получить разность множеств:

var notValidLetters = textBox1.Text.Except(alphabet); 
textBox2.Text = "Following are not valid letters: " + String.Join(", ", notValidLetters); 
0

Учитывая вашу проблему в «Найти как a и c из заданной строки ac»;

string[] alphabet = new string[] { "a", "b", "c"}; 
     for (int letter = 0; letter < alphabet.Length; letter++) 
     { 
      if (textBox1.Text.Any(alphabet[letter])) 
       textBox2.Text += alphabet[letter]; 
     } 
Смежные вопросы