如何终止递归函数并返回值

瑞奇

我正在尝试使用递归函数在ASP.NET页面内找到TextBox控件。找到此控件后,我想终止该函数并返回它。

我的主要问题是我无法停止递归函数并返回控件。

这是我的代码:

//execute recursive function to find a control in page by its id
TextBox textbox = GetTextBoxByID(controlCollection, id);

//recursive function
private TextBox GetTextBoxByID(ControlCollection controlCollection, string id)
{
    foreach (Control control in controlCollection)
    {
        if (control is TextBox)
        {
            TextBox tb = (TextBox)control;

            if (tb.ID == id)
            {
                //return selected texbox and terminate this recursion
                return tb;
            }
        }

        if (control.HasControls())
        {
            GetTextBoxByID(control.Controls, id);
        }
    }

    //no control found return null
    return null;
}
沃尔特

您还缺少一张支票,就在这里:

if (control.HasControls())
{
    var result = GetTextBoxByID(control.Controls, id);
    if (result != null)
        return result;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

递归:如何从递归函数返回值 1

来自分类Dev

从递归函数返回值

来自分类Dev

如何从python中的递归函数返回值?

来自分类Dev

PHP:如何从递归函数返回值的计数器?

来自分类Dev

如何获取递归python函数以返回值?

来自分类Dev

如何在递归for循环函数中返回值?

来自分类Dev

如何理解递归函数调用的返回值?

来自分类Dev

从异步递归函数返回值

来自分类Dev

递归函数的返回值为'undefined'

来自分类Dev

从Linux bash递归函数返回值

来自分类Dev

VBScript递归函数问题返回值

来自分类Dev

从Linux bash递归函数返回值

来自分类Dev

递归函数的意外返回值

来自分类Dev

Python 中递归函数的返回值

来自分类Dev

如何从函数返回值

来自分类Dev

如何将递归函数的返回值与整数(函数的实际参数)进行比较

来自分类Dev

如何在变量JavaScript中保存递归函数的返回值

来自分类Dev

如何从递归函数返回值而不是打印到控制台?

来自分类Dev

带for循环的递归函数:返回值问题

来自分类Dev

递归函数返回值保留以前运行的结果

来自分类Dev

在递归循环函数php中返回值

来自分类Dev

VB脚本中的递归函数返回值

来自分类Dev

在递归函数PHP中返回值的问题

来自分类Dev

递归函数似乎没有返回值

来自分类Dev

解释c ++中'int'类型的递归函数的返回值

来自分类Dev

如何从_calling_函数返回值?

来自分类Dev

如何模拟类的函数的返回值?

来自分类Dev

如何从EventEmitter函数返回值?

来自分类Dev

如何从gwidgets中的函数返回值