2014-09-27 2 views
0

Его очень простой сценарий в сравнении текста, но я застрял в сравнении двух текстов. В C# я создал функцию splitText, которая разбивает текст на определенное количество символов, после чего я назначаю разделенный текст строковой переменной, а затем сравниваю с другой строкой, но сравнение не работает.Разделение текста и соответствие текста в C#

Вот функция splitText

private string splitText(string Text, int startingIndex, int totalCharacters) 
     { 
      string s = ""; 
      char[] str = new char[100]; 
      int count = 0; 
      for (int i = startingIndex; i <= totalCharacters; i++) 
      { 
       str[count++] = Text[i]; 

      } 
      s = new string(str); 
      return s; 
     } 

Вот код, где я сравнить строку, но она не работает

private void button1_Click(object sender, EventArgs e) 
     { 
      string s = splitText("Khuram Jan", 0, 2); 
      if (s.Equals("Khu")) 
      { 
       MessageBox.Show("I have done"); 
      } 
      else 
      { 
       MessageBox.Show("Does not compare"); 
      } 
     } 

Я также отображается строка s значение, оно показывает мне Khu, но он не работает в том случае, если выполняется условие alwys else. Я тестировал много, но напрасно, чтобы решить проблему.

ответ

1

Ваш код обрабатывает переменную с именем totalCharacters, как если бы это было endIndex. Но реальная проблема заключается в том, что вы возвращаете строку длиной 100, с первыми тремя символами Khu. Верните new string(str, 0, count).

+0

но проблема заключается в том, как использовать массив динамических символов i-e char [] str = new str [totalCharacters], но это дает мне исключение. –

+0

Спасибо alot Remus Rusano за то, что помог мне, теперь он работает, –

0

Проблема была в том, что вы не получаете точное значение длины строки строки. В вашем случае вы возвращаете "Khu \ 0 \ 0 \ 0 ...."

Модифицированная линия

char[] str = new char[totalCharacters+1]; 

Кстати, вы можете использовать следующий тоже!

string s1 = "Khuram Jan".Substring(0, 3); 
+0

Спасибо, я понимаю, где я ошибся, спасибо за ваши полезные комментарии –

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