这两者之间有什么区别,我应该使用哪一个?
string s = "Hello world!";
String s = "Hello world!";
这两者之间有什么区别,我应该使用哪一个?
string s = "Hello world!";
String s = "Hello world!";
当前回答
图像结果为 string vs String www.javatpoint.com 在 C# 中, string 是.NET 框架中的 string 类的 alias. 事实上,每个 C# 类型都有.NET 的同等值. 另一个小差异是,如果你使用 string 类,你需要进口系统名称空间,而你不需要在使用 string 关键词时进口名称空间。
其他回答
事实上,每个 C# 类型都有一个相当于.NET. 作为另一个例子,在 C# 地图中简短和 int 到 Int16 和 Int32 在.NET. 因此,技术上没有线和线之间的区别,但在 C# 中,线是.NET 框架中的线类的标志。
两者之间没有区别,您可以在代码中使用其中一个。
System.String 是一个类(参考类型)定义的 mscorlib 在名空间系统. 换句话说, System.String 是 CLR 的类型。
string 是 C# 的关键词
在我所知道的范围内,字符串只是 System.String 的名称,类似的字符串存在于 Bool, Object, Int... 唯一微妙的区别是,你可以使用字符串,而没有“使用系统;” 指令,而 String 需要它(否则,你应该指定 System.String 完整)。
关于什么是最好的使用,我猜这是一个口味问题,我个人更喜欢链条,但我不是一个宗教问题。
如果有用的是真正看到没有线和System.String之间的区别:
var method1 = typeof(MyClass).GetMethod("TestString1").GetMethodBody().GetILAsByteArray();
var method2 = typeof(MyClass).GetMethod("TestString2").GetMethodBody().GetILAsByteArray();
//...
public string TestString1()
{
string str = "Hello World!";
return str;
}
public string TestString2()
{
String str = "Hello World!";
return str;
}
两者都产生相同的 IL 比特序列:
[ 0, 114, 107, 0, 0, 112, 10, 6, 11, 43, 0, 7, 42 ]
字符串是 System.String 的简称,字符串或 System.String 是 CTS(通用类型系统)中的字符串的名称。