Wie wir alle wissen, werden Strings implizit instanziiert, was bedeutet, dass wir new
nicht verwenden müssen, um einen Verweis auf ein Objekt von eins zu erhalten.Implementiert ldstr intern newobj?
dieses Weil es immer meine Überzeugung war, dass der Rahmen dieser kümmert und daher würde ich gleich IL, wenn ich so etwas wie dies tat:
String first = new String(new char[] {'a'});
string second = "a";
Allerdings scheint es, dass die erste Zeile getan unter Verwendung newobj instance void [mscorlib]System.String::.ctor(char[])
und der zweite ldstr "a"
.
Also, um eine Zeichenkettenreferenz zu erhalten, ruft ldstr
intern newobj
auf und wo kann ich die Spezifikation/Details sehen, um dies zu unterstützen?
Danke @Brian, ich wusste nicht, wo die Docs waren! –