public void Foo(double d){
// when called below, d == 2^32-1
...
}
public void Bar(){
uint ui = 1;
Foo(0 - ui);
}
我希望在這裏將0和ui都提升爲有符號的longs。C#0(減號)uint =無符號結果?
真,用0字面是在編譯的時候,強制轉換爲UINT安全可知,
但我想這一切似乎只是錯誤的。至少應該發出警告。
謝謝!
語言規範是否涵蓋了這樣的半含糊的情況?
這個問題等待Jon Skeet :) – 2012-03-01 23:06:38
不長:-) – 2012-03-01 23:11:46