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

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

当前回答

String(System.String)是基类图书馆的一个类。 string(下一个案例)是C#的备份工作,这是System.String的标志。 Int32 vs int是一种类似的情况,如Boolean vs. bool. 这些C#语言特定的关键词允许您以类似于C的风格宣布原始性。

其他回答

@JaredPar(C#编辑器的开发者和繁荣的SO用户!)写了一篇关于这个问题的博客文章,我认为值得分享。

string vs. string 不是风格辩论

[...]

识别器 String 虽然没有具体的含义在 C#. 它是一个识别器,通过所有的名称搜索规则,如 Widget, 学生, 等... 它可以连接到链条或它可以连接到一个类型在另一个组合,其目的可能完全不同于链条. 更糟糕的是,它可以定义的方式,这样的代码,如 String s = “你好”; 继续编译。

[...]

所以请记住,当你看到 String vs. String 讨论时,这就是关于语法,而不是风格。 选择 String 会给你的代码基础带来微妙的意义. 选择 String 不是错误的,但它会让未来惊喜的门开放。

这个YouTube视频实际上展示了它们的差异。

当我们谈论.NET 时,有两个不同的东西,一个是.NET 框架,另一个是使用该框架的语言(C#,VB.NET 等)。

此分類上一篇

String s = "I am String";

string s = "I am String";

同样,还有其他 C# 数据类型的联盟,如下所示:

现在,从程序员的观点来看,百万美元的问题:那么什么时候使用“String”和“String”?

在下面的代码中,左侧是变量声明,它被声明使用“丝带”。在右侧,我们称一种方法,所以“丝带”更敏感。

string s = String.ToUpper() ;

字符串是 System.String 的字符串(或短手) 这意味着,通过输入字符串,我们指的是 System.String. 您可以在思考链接中阅读更多: 字符串是 System.String 的字符串/短手。

实际上没有区别

关键字 C# 连接地图到.NET 类型的 System.String - 这是一个标签,保持到语言的名称公约。

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

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