这两者之间有什么区别,我应该使用哪一个?
string s = "Hello world!";
String s = "Hello world!";
这两者之间有什么区别,我应该使用哪一个?
string s = "Hello world!";
String s = "Hello world!";
当前回答
关于这个问题的引用来自丹尼尔·索里斯的书。
所有预先定义的类型都是直接地图到底部的.NET 类型. C# 类型名称(string)只是对.NET 类型(String 或 System.String)的联盟,所以使用.NET 名称工作顺利,尽管这不受鼓励。
其他回答
Jeffrey Richter 写道:
另一种方法是C#编译器自动假设您在所有源代码文件中使用下列指南:
using int = System.Int32;
using uint = System.UInt32;
using string = System.String;
...
我已经看到一些开发人员混淆了,不知道是否在他们的代码中使用线条或线条. 因为在C#线条(一个关键词)地图准确到System.String(一个FCL类型),没有区别,也可以使用。
字符串是 System.String 的字符串(或短手) 这意味着,通过输入字符串,我们指的是 System.String. 您可以在思考链接中阅读更多: 字符串是 System.String 的字符串/短手。
没有区别。
关键字 C# 连接地图到.NET 类型的 System.String - 这是一个标签,保持到语言的名称公约。
同样, int 地图到 System.Int32.
string 是.NET 框架中的 String 的标志。
在哪里“String”实际上是 System.String。
我会说它们是可交换的,没有区别什么时候和在哪里你应该使用一个或另一个。
最好是和你所使用的相一致。
对于什么是值得的,我使用链来宣布类型 - 变量,属性,回报值和参数. 这与其他系统类型的使用一致 - int, bool, var 等(尽管 Int32 和 Boolean 也是正确的)。
我使用 String 在 String 类上使用静态方法,如 String.Split() 或 String.IsNullOrEmpty()。我觉得这更有意义,因为方法属于一个类,并且与我使用其他静态方法一致。
String(System.String)是基类图书馆的一个类。 string(下一个案例)是C#的备份工作,这是System.String的标志。 Int32 vs int是一种类似的情况,如Boolean vs. bool. 这些C#语言特定的关键词允许您以类似于C的风格宣布原始性。