鉴于以下情况,C# 编译器有多聪明:
float a = 1; //A
var b = 1f; //B
var c = (float)1; //C - Is this line equivalent to A and B?
var d = Convert.ToSingle(1); //D - Is this line equivalent to A and B?
据我所知,编译后A和B是等价的。其他线路呢?
C 和 D 是在编译时优化为等同于 A 和 B 还是仅在运行时分配,导致更多处理来执行分配?
我想铸造(C)必须优化,功能(D)不能。
无论如何,我如何使用 VS2012 调查和比较生成的汇编代码?