在文本框列表中按名称查找文本框

时间:2014-06-12 22:46:14

标签: c#

鉴于RichTextBox的列表,我想以其名称访问一个。

例如:

修改 我不应该在问题中使用循环。我试图在没有for循环的情况下访问该名称。

public RichTextBox boxFinder(List<RichTextBox> boxes)
{
    return boxes.Find("boxname")
}

2 个答案:

答案 0 :(得分:3)

最简单的方法是使用FirstOrDefalut

return boxes.FirstOrDefault(b => b.Name == "MyName");
如果没有匹配的元素,

First将抛出。请注意,这基本上会执行一个foreach,它会在引擎盖下找到元素后中断。

答案 1 :(得分:2)

Find是一个带谓词的函数(即返回bool的委托)。您可以使用lambda调用find:

public RichTextBox boxFinder(List<RichTextBox> boxes)
{
    return boxes.Find(box=>box.Name == "boxname");
}

当然,将它包装在这样的功能中可能并不会给你带来太大的收获。