在下面的代表示例中,編譯器如何推斷變量alpha是什麼類型?編譯器如何推斷代表示例中的類型?
delegate double Doubler(double x);
public class Test
{
Doubler dbl = (alpha) => //How does it determine what type is alpha?
{
return alpha * 2
};
Console.WriteLine(dbl(10)); //Is it when the method is called? int here;
Console.WriteLine(dbl(5.5)); //double here???
}
我在一個網站上發現了這個聲明,我猜根據這個迴應,這是不正確的嗎?
「在我們的例子中,我們指定了參數的類型,如果你願意,你可以讓編譯器找出參數的類型,在這種情況下,只傳遞參數的名稱而不是類型。是一個例子:「
嗯,沒想到這一點,所以這是真的,編譯器實際上並不能推斷類型? – Xaisoft 2009-09-29 22:01:38
不,不是在這種情況下。但是,如果您使用通用約束,它可以推斷出該類型。 – atsjoo 2009-09-29 22:04:41
你能提供一個通用約束的例子嗎? – Xaisoft 2009-09-29 22:06:59