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

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

当前回答

没有区别。

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

同样, int 地图到 System.Int32.

其他回答

使用系统类型使您更容易在 C# 和 VB.Net 之间端口,如果您进入这种类型的东西。

在 C# 中, string 是 System.String (String) 的短手版本,它们基本上是相同的。

它就像博尔和布莱恩,没有太大的区别。

至少有四种差异:

字符串是保留的单词,但字符串只是一个类名称,这意味着字符串本身不能作为变量名称使用。

2、你不能使用 String 而不“使用系统”。所以你用“string”写得更少。

3、“String”比“string”更好地命名公约,因为它是一种不变的类型。

“String”是大多数编辑器中突出的C#关键字和合成,但不是“String”。

没有区别。

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

同样, int 地图到 System.Int32.

最好的答案我曾经听说过关于使用提供的类型联盟在C#来自Jeffrey Richter在他的书CLR Via C#。

我已经看到一些开发人员混淆,不知道是否使用线条或线条在他们的代码. 因为在C#的线条(一个关键字)地图准确到System.String(一个FCL类型),没有区别,也可以使用。 在C#,长地图到System.Int64,但在不同的编程语言,很长时间可以地图到Int16或Int32. 事实上,C++/CLI实际上处理很长时间作为Int32. S

BinaryReader br = new BinaryReader(...);
float val  = br.ReadSingle(); // OK, but feels unnatural
Single val = br.ReadSingle(); // OK and feels good

所以你有它,我认为这些都是很好的点,但是,我找不到自己在自己的代码中使用杰弗里的建议,也许我太困在我的C#世界里,但我最终试图让我的代码看起来像框架代码。