2015-06-19 3 views
-2

Я пытаюсь вызвать функцию chk_condition() от find_output(), но проблема в том, что управление не перемещается из функции find_output() в функцию chk_condition(). Какая может быть возможная ошибка?Как управлять потоком от одной функции к другой функции

private void find_output(string a) 
{ 
    string[] separators = new string[] { "\n" }; 
    foreach (string sent in a.Split(separators) 
    { 
     listBox8.Items.Clear(); 
     string sentence = sent.Replace("\r", ""); 
     if (sentence != "") 
     { 
      int s = sentence.Count(); 
      string[] separators1 = new string[] { " " }; 

      foreach (string word in sentence.Split(separators1)) 
      { 
       listBox8.Items.Add(word); 
      } 
      int word_count = listBox8.Items.Count; 
      chk_condition(sentence); 
      if (condition_satisfy == i) 
       textBox6.Text = textBox6.Text + Environment.NewLine + sentence; 
     } 
    } 
} 

private void chk_condition(string a) 
{ 
} 
+1

У вас отсутствует закрывающая скобка ')' во втором цикле foreach для стартеров – Nikola

+0

Действительно ли получают сообщение об ошибке или вы просто не видите ожидаемого поведения? Если вы не видите ожидаемого поведения, то мне любопытно, если вы выполните свой код с помощью отладчика, потому что ваш метод 'chk_condition' ничего не делает. Я также не вижу, где объявляется 'condition_satisfy'. –

+0

Не только 'condition_satisfy' не объявлен, но и не' i', и ни один из них не назначен. Являются ли они переменными уровня класса? – joehanna

ответ

0

Предположим, что ваш код компилируется - потому, что в настоящее время есть некоторые очевидные ошибки ** - вы можете отлаживать метод find_output, чтобы проверить, почему chk_condition никогда не выполняется. Одна из причин может заключаться в том, что строка a пуста или программа прерывается до достижения chk_condition.

Я предполагаю, что вы используете Visual Studio. Для отладки:

  1. Установить точку останова (F9) в начале find_output.
  2. Запустите приложение в режиме отладки (F5).
  3. При достижении точки останова шаг за шагом (F10), чтобы увидеть строку за строкой, как выполняется код.
  4. При отладке с помощью мыши и наведите курсор мыши на переменные, чтобы увидеть их текущие значения (или использовать, например, Watch Window (Ctrl + D, W).
  5. Если sentence строка не пуста вам будет в конечном итоге достигнуть chk_condition. Используйте шаг внутрь (F11), чтобы увидеть, что метод выполняется.

** Отсутствует закрывающую скобку в первом цикле Еогеаспа. Таинственная i переменный - он инициализирован в любом месте? Имеет ли это значение?

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