一个例子是:
XNamespace ns = "my namespace"
Run Code Online (Sandbox Code Playgroud)
为什么不?:
XNamespace ns = new XNamespace ( "my namespace" )
Run Code Online (Sandbox Code Playgroud)
使用隐式/显式转换而不是构造函数背后的想法是什么?方便?
有这方面的指导方针吗?
众所周知,字符串是隐式实例化的,这意味着我们不必使用new它来获取对象的对象的引用.
因此,我一直认为框架正在处理这个问题,因此如果我这样做,我会得到相同的IL:
String first = new String(new char[] {'a'});
string second = "a";
Run Code Online (Sandbox Code Playgroud)
然而,似乎第一行是使用newobj instance void [mscorlib]System.String::.ctor(char[])
和第二行完成的ldstr "a".
那么为了获得一个字符串引用,ldstr内部调用newobj,我在哪里可以看到规范/细节来支持它?