2014-09-07 7 views
0

Я хочу написать простое приложение в C#, которое поможет мне изучить сенсорный ввод. Прямо сейчас я делаю метод для сравнения символов из текста и ввода пользователем. У меня есть проблема, потому что я сделал какой-то метод, чтобы искать изменения текста:Сравнение ввода пользователя

private void tb_write_TextChanged(object sender, TextChangedEventArgs e) 
    { 
     TextBox t =(TextBox)sender; 

     if (Words.WordCompare(tb_text.Text.ToCharArray(), t.Text.ToCharArray())) 
     { 

      l_words.Content =("OK"); 


     } 
     else 
     { 
      l_words.Content = ("Not ok"); 
     } 

    } 

Тогда у меня есть метод WordCompare:

class Words 
{ 
    public static bool WordCompare(char[] input, char[] output) 
    { 
     List<char> used = new List<char>(); 

     foreach(char ch_out in output) 
     { 
      foreach (char ch_in in input) 
      { 
       if (ch_out == ch_in) 
       { 
        used.Add(ch_in); 
        return true; 
       } 
      } 
     } 
     return false; 
    } 

Основная проблема заключается в том, что, если пользовательский ввод в порядке (я имею в виду, что пользователь записи каждый символ справа) метод работает нормально, но он проверяет только первый символ, независимо от того, что я пишу, и всегда возвращаю true. Более того, он возвращает true, когда любая буква из текста и ввода пользователя одинакова, нет, на каком посту. Я хотел добавить «используемый» символ в список, чтобы отслеживать их, но он делает новый список каждый раз, когда вызывается метод. Не могли бы вы помочь мне с этой проблемой, или, может быть, есть другой способ ее решения?

ответ

0
class Words 
{ 
    public static bool WordCompare(char[] input, char[] output) 
    { 
     List<char> used = new List<char>(); 
     bool flag = true; 

     if(input.Length!=output.Length) {return false;} 

     for(int i=0;i<input.Length;++i) 
     { 
       if (input[i]==output[i]) 
       { 
        used.Add(ch_in); 
       } 
       else 
       { 
        flag = false; 
        break; 
       } 
     } 
     return flag; 
    } 

Кроме того, что я хочу сказать: вам не нужно сравнивать, когда тип каждого персонажа, а просто сравнить всю строку, позволяя щелчки клиента на другой новой кнопки, в какую кнопку событие нажмите просто использовать Еогеасп для сравнения.

Смежные вопросы