小编kta*_*m33的帖子

无法在动态创建的System.Web.UI.WebControl上使用Control.FindControl

为什么以下代码不起作用?我正在创建一个控件,添加一个子控件并尝试使用.FindControl方法通过id检索它.

[Test]
    public void TryToFindControl()
    {
        var myPanel = new Panel();
        var textField = new TextBox
        {
            ID = "mycontrol"
        };
        myPanel.Controls.Add(textField);

        var foundControl = myPanel.FindControl("mycontrol");

        // this fails
        Assert.IsNotNull(foundControl);
    }
Run Code Online (Sandbox Code Playgroud)

.net asp.net

5
推荐指数
1
解决办法
1366
查看次数

为什么 Scala 无法将此函数编译为尾递归?

如果我将以下递归深度优先搜索函数的第一行替换为在 foreach 块中注释掉的行,它将无法编译为尾递归函数(由于 @tailrec 注释),即使递归仍然显然是函数的最后一个动作。这种行为是否有正当理由?

@tailrec def searchNodes(nodes: List[Node], visitedNodes: List[Node], end: String, currentLevel: Int) : Int = {
    if (nodes.exists(n => n.id == end)) return currentLevel
    val newVisitedNodes = visitedNodes ::: nodes
    var nextNodes = List[Node]()
    nodes.foreach(n => {

        /*
        if (n.id == end){
            return currentLevel
        } 
        */
        nextNodes = nextNodes ::: n.addAdjacentNodes(visitedNodes)
    })
    if (nextNodes.size == 0) return -1
    return searchNodes(nextNodes, newVisitedNodes, end, currentLevel + 1)
}
Run Code Online (Sandbox Code Playgroud)

recursion scala tail-recursion

0
推荐指数
1
解决办法
121
查看次数

标签 统计

.net ×1

asp.net ×1

recursion ×1

scala ×1

tail-recursion ×1