这两者之间有什么区别,我应该使用哪一个?

string s = "Hello world!";
String s = "Hello world!";

当前回答

字符串是字符串的类别. 如果您从使用声明中删除系统名称空间,您可以看到字符串已经消失,但字符串仍然在这里. 字符串是字符串的关键词. 如 int 和 Int32 短语和 Int16 长语和 Int64 因此,关键词只是使用一个类别的一些词。

其他回答

另一个没有提到的论点,最好是复活节案例:

System.String 是参考类型,参考类型名称是经典案例。

string 是 System.String 的 C# 中的一个 alias. 所以技术上,没有区别. 它就像 int vs. System.Int32.

至于指导方针,一般建议在您提到对象时使用字符串。

吉。

string place = "world";

同样,我认为一般建议使用 String 如果你需要具体提到课堂。

吉。

string greet = String.Format("Hello {0}!", place);

这是微软在其例子中使用的风格。

似乎该领域的指导方针可能已经改变了,因为StyleCop现在强制使用C#特定的联盟。

绳子指一个带物体,它具有各种功能来操纵所包含的绳子。

字符串指一个原始类型

在 C# 中,他们都编写到 String 但在其他语言中,他们不这样做,你应该使用 String 如果你想处理 String 对象和 string 如果你想处理字母。

晚到派对:我使用CLR类型百分之百的时间(好,除非被迫使用C#类型,但我不记得最后一次是什么时候)。

我起初在几年前开始做这件事,就像Ritchie的CLR书一样,这对我来说是有意义的,所有的CLR语言最终必须能够支持CLR类型,所以使用CLR类型自己提供了更清晰、可能更“可用”的代码。

现在我已经做了多年,这是一个习惯,我喜欢VS为CLR类型的颜色。

唯一真正的下载器是,自动完成使用C#类型,所以我最终重新编写自动生成的类型来指定CLR类型。

此外,现在,当我看到“int”或“string”,它似乎对我来说是真的错误的,就像我看到了1970年代的C代码一样。

它已被覆盖; 但是,你不能在反射中使用线条; 你必须使用线条。