鉴于RichTextBox
的列表,我想以其名称访问一个。
例如:
修改
我不应该在问题中使用循环。我试图在没有for
循环的情况下访问该名称。
public RichTextBox boxFinder(List<RichTextBox> boxes)
{
return boxes.Find("boxname")
}
答案 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");
}
当然,将它包装在这样的功能中可能并不会给你带来太大的收获。