C#里面“等于号大于号”是什么意思c#代码如下:重点是最后一句! enum State { Open,Closed }. enum Operation { Push,Pull }.rule = new Dictionary<State,Dictionary<Operation,Action>>();.r

来源:学生作业帮助网 编辑:作业帮 时间:2024/03/29 17:03:09
C#里面“等于号大于号”是什么意思c#代码如下:重点是最后一句!    enum State    {        Open,Closed    }.    enum Operation    {        Push,Pull    }.rule = new Dictionary<State,Dictionary<Operation,Action>>();.r

C#里面“等于号大于号”是什么意思c#代码如下:重点是最后一句! enum State { Open,Closed }. enum Operation { Push,Pull }.rule = new Dictionary<State,Dictionary<Operation,Action>>();.r
C#里面“等于号大于号”是什么意思
c#代码如下:重点是最后一句!

    enum State
    {
        Open,Closed
    }
.
    enum Operation
    {
        Push,Pull
    }
.
rule = new Dictionary<State,Dictionary<Operation,Action>>();
.
rule[State.Closed][Operation.Push] = () => { Console.WriteLine("门被推开了"); State = State.Open; };
那个“=>”是什么意思?Linq里的什么?

C#里面“等于号大于号”是什么意思c#代码如下:重点是最后一句! enum State { Open,Closed }. enum Operation { Push,Pull }.rule = new Dictionary<State,Dictionary<Operation,Action>>();.r
lamda表达式
格式:( 形参列表 ) => { 函数体 }
作用:简化匿名方法的书写,可用在任何可使用匿名方法和强类型代理的地方;
例子:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace lamda_expression
{
class Program
{
public delegate string mydelegate(string s);
static void Main(string[] args)
{
mydelegate d1;
d1 = delegate(string myarg) { Console.WriteLine("anonymous method output: {0}", myarg); return "anonymous method done"; };
d1 += ((string myarg) => { Console.WriteLine("lamda expression output: {0}", myarg); return "lamda ok"; });
Console.WriteLine("d1 output: {0}", d1("arg"));
}
}
}

输出:
anonymous method output: arg
lamda expression output: arg
d1 output: lamda ok