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

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

当前回答

Jeffrey Richter 写道:

另一种方法是C#编译器自动假设您在所有源代码文件中使用下列指南:

using int = System.Int32;
using uint = System.UInt32;
using string = System.String;
...

我已经看到一些开发人员混淆了,不知道是否在他们的代码中使用线条或线条. 因为在C#线条(一个关键词)地图准确到System.String(一个FCL类型),没有区别,也可以使用。

其他回答

正如上面提到的那样,它们是相同的,而丝线只是对丝线的标志。

对于什么是值得的,我使用链来宣布类型 - 变量,属性,回报值和参数. 这与其他系统类型的使用一致 - int, bool, var 等(尽管 Int32 和 Boolean 也是正确的)。

我使用 String 在 String 类上使用静态方法,如 String.Split() 或 String.IsNullOrEmpty()。我觉得这更有意义,因为方法属于一个类,并且与我使用其他静态方法一致。

标签: 代表一类

字符串: 代表一个 alias

这只是微软的编码协议。

字符串是关键词,你不能用字符串作为识别器。

条纹不是一个关键词,你可以用它作为一个标识:

例子

string String = "I am a string";

关键词行是 System.String 与关键词问题相同的标志,两者都是相同的。

 typeof(string) == typeof(String) == typeof(System.String)

StyleCop 规则,默认情况下,将允许您使用字符串作为一个 C# 代码风格的最佳实践,除非提到 System.String 静态功能,如 String.Format, String.Join, String.Concat 等。

然而,两者之间没有区别 - 行似乎是考虑到其他开发者的源代码时最受欢迎的选项。