new
文字列は暗黙的にインスタンス化されることは誰もが知っていることです。つまり、1つのオブジェクトへの参照を取得するために使用する必要はありません。
このため、フレームワークがこれを処理しているというのが常に私の信念でした。したがって、次のようなことをすると、同じILが得られます。
String first = new String(new char[] {'a'});
string second = "a";
ただし、最初の行はとを使用newobj instance void [mscorlib]System.String::.ctor(char[])
して行われているようldstr "a"
です。
それで、文字列参照を取得するために、ldstr
内部で呼び出しnewobj
ますか、これをバックアップするための仕様/詳細はどこで確認できますか?