[英]The best overloaded method match has some invalid arguments for a class constructor (C#)
我收到此错误,但不确定原因。 在一个类中,我使用以下代码行创建一个对象:
StoreSale sale = new StoreSale(1, 13.99);
StoreSale类中的构造函数如下所示:
public StoreSale(int quantity, float value)
{
this.quantity = quantity;
this.value = value;
}
...并且我收到错误消息“应用程序名称的最佳重载方法匹配。StoreSale.StoreSale(int,float)有一些无效的参数。”
有人可以建议我做错什么吗?
13.99
是双重文字。 附加一个f
以使其为float: 13.99f
。
无论如何,您可能都不希望对货币值使用二进制浮点数。 decimal
是一个更明智的选择。
13.99
是一个double
。 要使其成为float
文字,请添加f
: 13.99f
。
之所以会出现此错误,是因为字面值13.99
是double
,并且没有从double
到float
隐式转换。 请改用13.99F
。
StoreSale sale = new StoreSale(1, 13.99F);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.