众所周知,字符串是隐式实例化的,这意味着我们不必使用new
它来获取对 one 对象的引用。
正因为如此,我一直相信框架正在处理这个问题,因此如果我做这样的事情,我会得到相同的 IL:
String first = new String(new char[] {'a'});
string second = "a";
但是,第一行似乎是使用newobj instance void [mscorlib]System.String::.ctor(char[])
第二行完成的ldstr "a"
。
因此,为了获得字符串引用,ldstr
内部是否调用newobj
以及我在哪里可以看到规范/详细信息来支持它?