加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 编译器如何推断委托示例中的类型?

发布时间:2020-12-15 23:53:14 所属栏目:百科 来源:网络整理
导读:在下面的委托示例中,编译器如何推断变量alpha的类型是什么? delegate double Doubler(double x);public class Test{ Doubler dbl = (alpha) = //How does it determine what type is alpha? { return alpha * 2 }; Console.WriteLine(dbl(10)); //Is it whe
在下面的委托示例中,编译器如何推断变量alpha的类型是什么?

delegate double Doubler(double x);

public class Test
{
    Doubler dbl = (alpha) => //How does it determine what type is alpha?
    {
        return alpha * 2
    };

    Console.WriteLine(dbl(10)); //Is it when the method is called?  int here;

    Console.WriteLine(dbl(5.5)); //double here???
}

我在一个网站上发现了这个声明,我想根据回答,这是不正确的?

“在我们的例子中,我们指定了参数的类型.如果你愿意,你可以让编译器找出参数的类型.在这种情况下,只传递参数的名称而不是它的类型.这是一个例子: “

解决方法

您在委托中声明它.

delegate double Doubler(double x);

x是你的alpha.

您可以使用以下命令轻松替换代码:

Doubler dbl = delegate (double x)
{
   return x*2;
};

您还可以简化lambda表达式:

Doubler dbl = alpha => alpha*2;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读