次のことを考えると、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 を使用して生成されたアセンブリ コードを調査および比較するにはどうすればよいでしょうか。