其实,匿名函数和lambda表达式如果能够合理应用,会简化不少代码。 我做了几个例子,算是帮助记忆吧。 delegate string GetStringHandler(string str); /// <summary> /// 测试匿名函数 /// </summary> private static void TestAnonyDel() { //匿名函数的测试 GetStringHandler del = delegate(string x) { return x + " AnonyDel test"; }; Console.WriteLine(del("gqq")); } /// <summary> /// 测试lambda表达式 /// </summary> private static void TestLambdaExpression() { GetStringHandler del = (x) => x + " lambda test"; Console.WriteLine(del("gqq")); } /// <summary> /// select,使用lambda表达式 /// </summary> private static void TestSelectUsingLambda() { int[] nums = { 1, 2, 5, 7, 2, 4, 6 }; Func<int, int> func = (n) => n * 3; IEnumerable<int> results = nums.Select(func); foreach (int result in results) { Console.WriteLine(result); } } /// <summary> /// where,使用Lambda表达式 /// </summary> private static void TestWhereUsingLambda() { int[] nums = { 1, 2, 5, 7, 2, 4, 6 }; IEnumerable<int> results = nums.Where(n => n > 3); foreach (int result in results) { Console.WriteLine(result); } } 好,就写到这里吧,简单点好。