最佳重载方法匹配具有 class 构造函数的一些无效参数 (C#)
The best overloaded method match has some invalid arguments for a class constructor (C#)
我遇到了这个错误,但不完全确定原因。在一个 class 中,我使用以下代码行创建了一个对象:
StoreSale sale = new StoreSale(1, 13.99);
StoreSale class 中的构造函数如下所示:
public StoreSale(int quantity, float value)
{
this.quantity = quantity;
this.value = value;
}
...我收到错误消息“'applicationname' 的最佳重载方法匹配。StoreSale.StoreSale(int, float) 有一些无效参数。”
有人可以告诉我我做错了什么吗?
13.99
是一个 double
。要使其成为 float
文字,请添加一个 f
:13.99f
.
13.99
是 double 文字。添加一个 f
使其成为一个浮点数:13.99f
.
无论如何,您可能不想对货币值使用二进制浮点数。 decimal
是一个明智得多的选择。
您收到此错误是因为文字 13.99
是 double
,并且没有从 double
到 float
的隐式转换。请改用 13.99F
。
StoreSale sale = new StoreSale(1, 13.99F);
我遇到了这个错误,但不完全确定原因。在一个 class 中,我使用以下代码行创建了一个对象:
StoreSale sale = new StoreSale(1, 13.99);
StoreSale class 中的构造函数如下所示:
public StoreSale(int quantity, float value)
{
this.quantity = quantity;
this.value = value;
}
...我收到错误消息“'applicationname' 的最佳重载方法匹配。StoreSale.StoreSale(int, float) 有一些无效参数。”
有人可以告诉我我做错了什么吗?
13.99
是一个 double
。要使其成为 float
文字,请添加一个 f
:13.99f
.
13.99
是 double 文字。添加一个 f
使其成为一个浮点数:13.99f
.
无论如何,您可能不想对货币值使用二进制浮点数。 decimal
是一个明智得多的选择。
您收到此错误是因为文字 13.99
是 double
,并且没有从 double
到 float
的隐式转换。请改用 13.99F
。
StoreSale sale = new StoreSale(1, 13.99F);