【发布时间】:2012-03-01 23:04:57
【问题描述】:
public void Foo(double d){
// when called below, d == 2^32-1
...
}
public void Bar(){
uint ui = 1;
Foo( 0 - ui );
}
我希望 0 和 ui 在这里都被提升为有符号的多头。
确实,使用 0 字面量,在编译时就可以知道强制转换为 uint 是安全的,
但我想这一切似乎都是错误的。至少应该发出警告。
谢谢!
语言规范是否涵盖了这样的半模棱两可的情况?
【问题讨论】:
-
这个问题等待 Jon Skeet :)