最好的重载方法匹配对于类构造函数(C#)有一些无效的参数

时间:2015-11-05 20:04:07

标签: c# class constructor overloading

我收到此错误并不完全确定原因。在一个类中,我使用以下代码行创建一个对象:

StoreSale sale = new StoreSale(1, 13.99);

StoreSale类中的构造函数如下所示:

public StoreSale(int quantity, float value)
{
   this.quantity = quantity;
   this.value = value;
}

...我收到错误''applicationname'的最佳重载方法匹配.StoreSale.StoreSale(int,float)有一些无效的参数。'

有人可以告诉我我做错了什么吗?

3 个答案:

答案 0 :(得分:11)

13.99 double 字面值。附加f以使其成为浮点数:13.99f

在任何情况下,您可能都不希望将二进制浮点用于货币值。 decimal是一个更为理智的选择。

答案 1 :(得分:3)

13.99double。要使其为float字面值,请添加f13.99f

答案 2 :(得分:3)

您收到此错误,因为文字13.99double,并且没有从doublefloat的隐式转换。请改用13.99F

StoreSale sale = new StoreSale(1, 13.99F);