将参数传递给匿名函数

时间:2018-12-06 11:26:38

标签: c# parameter-passing anonymous-function func

以下代码输出bee

    var str = "B";

    var env = new Func<string>(() => {
        switch (str)
        {
            case "A":
                return "aye";
            case "B":
                return "bee";
            default:
                return "see";
        }
    }).Invoke();

    Console.WriteLine(env);

如何将str变量作为参数传递给匿名函数?我能得到的最接近的是:

    var str = "B";

    Func<string, string> env = a => {
        switch (a)
        {
            case "A":
                return "aye";
            case "B":
                return "bee";
            default:
                return "see";
        }
    };

    Console.WriteLine(env(str));

但这不是匿名的,因为它名为env

是否可以使用第一种形式并仍然传递参数?

0 个答案:

没有答案