这两者之间有什么区别,我应该使用哪一个?
string s = "Hello world!";
String s = "Hello world!";
这两者之间有什么区别,我应该使用哪一个?
string s = "Hello world!";
String s = "Hello world!";
当前回答
我更喜欢使用线条,因为这种类型是如此使用,我不希望合成亮度将其与所有其他类混合。虽然它是一个类,它被使用更像原始,所以我认为不同的亮度颜色是合适的。
如果你正确点击字符串的关键字,然后从背景菜单中选择去定义,它会带你到字符串类 - 它只是合成糖,但它提高了可读性 imo。
其他回答
首先,两个字符串和字符串都不是相同的,有一个区别:字符串不是一个关键字,它可以用作识别器,而字符串是关键字,不能用作识别器。
我试图用不同的例子来解释: 首先,当我把字符串 s 放进 Visual Studio 并将它转移到我获得(没有颜色):
文档位于 https://msdn.microsoft.com/en-us/library/362314fe.aspx. 第二个句子说“string 是.NET 框架中的 String 的标志。
另一个没有提到的论点,最好是复活节案例:
System.String 是参考类型,参考类型名称是经典案例。
没有区别。
关键字 C# 连接地图到.NET 类型的 System.String - 这是一个标签,保持到语言的名称公约。
同样, int 地图到 System.Int32.
我只是想把这个添加到Lfousts的答案,从Ritchers的书:
C# 语言规格说:“在风格问题上,使用关键字优于使用完整的系统类型名称。我不同意语言规格;我更喜欢使用 FCL 类型名称,完全避免原始类型名称。
我没有得到他的意见,直到我阅读完整的段落。
关于这个问题的引用来自丹尼尔·索里斯的书。
所有预先定义的类型都是直接地图到底部的.NET 类型. C# 类型名称(string)只是对.NET 类型(String 或 System.String)的联盟,所以使用.NET 名称工作顺利,尽管这不受鼓励。