List> actions = new List>();
Func这个不是方法吗?怎么能作为类型?Func再这里是什么?
你也可以传一个方法进去,比如
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
List<Func<int>> actions = new List<Func<int>>();
actions.Add(foo);
var f = actions[0];
int x = f();
Console.WriteLine(x);
}
static int foo()
{
return int.Parse(DateTime.Now.ToString("yyMMddhhmm"));
}
}
}
结果一样
什么语言,看着像java,但java这个应该是报错的,泛型也不能是基本类型呀
Func是一个委托。委托也是一个类型。
比如
List<Func<int>> actions = new List<Func<int>>();
actions.Add(x => x * 2);
var f = actions[0];
int x = f(10); // x = 20;
修正下
List<Func<int>> actions = new List<Func<int>>();
actions.Add(() => int.Parse(DateTime.Now.ToString("yyMMddhhmm")));
var f = actions[0];
int x = f();
Console.WriteLine(x);
输出
1501100226
请按任意键继续. . .