List.Find上的C#错误

时间:2013-06-10 18:41:26

标签: c# .net

我有文本框列表,我正在尝试使用以下代码查找特定文本框。 (使用.net 2.0)

List<TextBox> t = new List<TextBox>();
TextBox textboxMax = t.Find(i => i.Tag.ToString().Contains(textbox.Tag + "Max"));

它强调了我=&gt;结束我得到一个错误无效的表达式。我知道这是在列表中搜索lambda表达式的方法,并且从一些示例中它们都包含=&gt;表达。出了什么问题?

2 个答案:

答案 0 :(得分:9)

仅在.NET 3.0及更高版本中支持Lambda表达式。在.NET 2.0中,您可以使用匿名委托来实现此目的。

TextBox textboxMax = t.Find(delegate(TextBox i) { return i.Tag.ToString().Contains(textbox.Tag + "Max"); });

答案 1 :(得分:4)

C#2.0没有lambdas。您可以使用匿名委托语法:

TextBox textboxMax = t.Find(delegate (TextBox i) 
{ 
    return i.Tag.ToString().Contains(textbox.Tag + "Max"); 
});