1
在.net中時,我爲參數float,double和decimal的「Add」創建了三個重載函數。爲什麼它總是叫雙重而不是別人?我只是想了解優先的原因。重載函數,參數double被稱爲浮點數或小數點
public Form1()
{
var g = Add(4.5, 5.6);
}
public object Add(float a, float b)
{
return a + b;
}
public object Add(double a, double b)
{
return a + b;
}
public object Add(decimal a, decimal b)
{
return a + b;
}
我覺得這麼愚蠢不帶小數點和浮動不是想它。謝謝:) – Waqas
現在,當使用整數('1)'文字,長文本('1L')時會發生什麼? :} – user2864740
@ user2864740編譯器將選擇帶有參數類型的重載,您的整數可以隱式轉換爲重載,但您可能會在OPs示例中使用'1'獲得模糊的調用錯誤,因爲多重過載將適合該賬單。 –