我能找到的所有关于 Func < > 和 Action < > 的例子都是 很简单,就像下面这个例子一样,你可以看到 怎么做,它们在技术上起作用,但是我希望看到它们被用于解决以前无法解决的问题,或者只能用更复杂的方式解决的问题,也就是说,我知道它们是如何工作的,我可以看到它们是 简洁有力,所以我想在 更大的意义中了解它们解决了哪些问题,以及我如何在应用程序设计中使用它们。
您以什么方式(模式)使用 Func < > 和 Action < > 来解决实际问题?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace TestFunc8282
{
class Program
{
static void Main(string[] args)
{
//func with delegate
Func<string, string> convert = delegate(string s)
{
return s.ToUpper();
};
//func with lambda
Func<string, string> convert2 = s => s.Substring(3, 10);
//action
Action<int,string> recordIt = (i,title) =>
{
Console.WriteLine("--- {0}:",title);
Console.WriteLine("Adding five to {0}:", i);
Console.WriteLine(i + 5);
};
Console.WriteLine(convert("This is the first test."));
Console.WriteLine(convert2("This is the second test."));
recordIt(5, "First one");
recordIt(3, "Second one");
Console.ReadLine();
}
}
}