[英]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.