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

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

当前回答

但从编码指南的观点,最好使用字符串而不是字符串,这就是开发人员通常使用的。 例如,而不是使用 Int32 我们使用 int 作为 int 是 alias 到 Int32

FYI “关键字行仅仅是预先定义的类 System.String 的名称” - C# 语言规格 4.2.3 http://msdn2.microsoft.com/En-US/library/aa691153.aspx

其他回答

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

.NET 类型与其他对象类型相同的颜色(值类型是合适的对象,毕竟)。

条件和控制的关键词(如如果,交换和返回)是下层和彩色黑蓝色(默认情况下)。

考虑一下:

String someString; 
string anotherString; 

在一个优化CIL(是MSIL)背景(.NET VM 组合语言)中的其他语言 -.NET 框架或 Mono 或任何 CIL 类型的区域在一本针对多个.NET 语言(如 VB.NET、 F# 等)的书中。

因此,真正的答案是,仅仅是因为C#必须与其他语言共享.NET 空间,这个问题甚至存在。

C、总结...

对于您的内部组织,如果您也使用 VB.NET 或 F# 或任何其他.NET 语言,或者开发图书馆用于客户的消费,那么您应该在这些背景下使用“Frameworky”类型,以便每个人都能理解您的界面,无论您是谁。

HTH。

有一个区别 - 您不能使用 String 没有使用系统; 提前。

在我所知道的范围内,字符串只是 System.String 的名称,类似的字符串存在于 Bool, Object, Int... 唯一微妙的区别是,你可以使用字符串,而没有“使用系统;” 指令,而 String 需要它(否则,你应该指定 System.String 完整)。

关于什么是最好的使用,我猜这是一个口味问题,我个人更喜欢链条,但我不是一个宗教问题。