C# 如何控制从一个函数到另一个函数的流

C# 如何控制从一个函数到另一个函数的流,c#,C#,我试图从find_输出调用chk_条件函数,但问题是控制并没有从find_输出函数移动到chk_条件函数。可能的错误是什么 private void find_output(string a) { string[] separators = new string[] { "\n" }; foreach (string sent in a.Split(separators) { listBox8.Items.Clear(); string s

我试图从find_输出调用chk_条件函数,但问题是控制并没有从find_输出函数移动到chk_条件函数。可能的错误是什么

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)
{
}

假设您的代码已编译—因为当前存在一些明显的错误**—您可以调试find_output方法,以检查为什么从未执行chk_条件。一个原因可能是字符串a为空,或者程序在达到chk_条件之前中断

我假设您正在使用Visual Studio。要调试:

在find_输出的开始处设置断点F9。 在调试模式F5下启动应用程序。 当遇到断点时,请一步一步地执行F10,逐行查看代码是如何执行的。 调试时,请使用鼠标并将光标悬停在变量上以查看其当前值,或使用例如Watch Window Ctrl+D、W。 如果您的句子字符串不是空的,您最终将达到chk_条件。使用F11中的步骤查看该方法是否已执行。
**第一个foreach循环中缺少闭合括号。神秘的i变量-它是否在任何地方初始化?它有价值吗

您在第二个foreach循环中缺少一个结束括号,是否确实收到了一条错误消息,或者您只是没有看到预期的行为?如果您没有看到预期的行为,那么我很好奇您是否正在使用调试器逐步检查代码,因为您的方法chk_条件没有任何作用。我也看不到条件_满足在哪里被声明。不仅条件_满足没有声明,而且我也没有,也没有被赋值。它们是类级变量吗?控件不会移动,因为它不会编译: