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; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |