class SimpleAnonymousMethods
{
static void Main()
{
Action<string> printReverse = delegate(string text) //匿名方法创建 Action<string>
{
char[] chars = text.ToCharArray(); //包括空格有11个字符 局部变量chars
Array.Reverse(chars); //把11个字符反转
Console.WriteLine(new string(chars));
};
Action<int> printRoot = delegate(int number) //匿名方法 求平方根
{
Console.WriteLine(Math.Sqrt(number));
};
Action<IList<double>> printMean = delegate(IList<double> numbers) //直接执行 求列表平均值
{
double total = 0;
foreach (double value in numbers) //匿名方法使用循环 求和
{
total += value;
}
Console.WriteLine(total / numbers.Count);
};
printReverse("Hello world"); //调用 printReverse 来调用委托
printRoot(2);
printMean(new double[] { 1.5, 2.5, 3, 4.5 });
}
}
输出
dlrow olleH
1.4142135623731
2.875