字符串VS串[复制](String vs string [duplicate])

2019-06-26 12:40发布

在C#中有String对象和string对象。

两者有什么区别? 什么是关于其使用的最佳做法是什么?

Answer 1:

没有区别。 串(小写)仅仅是System.String的别名。



Answer 2:

没有不同。 System.String是严格相同string 。 常见的C#编码规范表明您应该使用关键字string



Answer 3:

他们是别名,并可以互换。 然而,在风格上,为宣言,我用的是小写的字符串,而对于静态方法,我用String。

string foo = "bar";

if( foo != String.Empty )
{
   Console.WriteLine(String.Format("foo.Length = {0}", foo.Length));
}


Answer 4:

一个System.String设置.NET类型和一个特定于C#,其原来是一个别名回System.String。

http://msdn.microsoft.com/en-us/library/362314fe(VS.71).aspx



Answer 5:

没有差异。 字符串是编译器转换为System.String的别名。

事实上,它甚至在别名MSIL:

.method private hidebysig static void  Main(string[] args) cil managed


Answer 6:

他们之间没有什么区别。 字符串仅仅是System.String的别名。 在编译时他们都被编译成System.String对象。



Answer 7:

小写版本只是一个别名实际String类。 有没有真正的区别就IL产生。



Answer 8:

在未来,尝试编译同时使用一个应用程序,然后使用反射镜(语言更改为IL)来查看编译后的输出。 你会看到没有区别。



Answer 9:

没有区别,因为字符串是由编译器转换为System.String。 同样的,所有的常见类型(INT去为System.Int32等)。 我们用简单的名称,使他们脱颖而出。



Answer 10:

没有区别。 字符串是一个C#语言的关键字它指的是类System.String,就像int是是指为System.Int32关键字。



Answer 11:

考虑到这是一个“整数”是根据16位/ 32位系统上的某些语言不同,一个“串”可能在未来的发展,以不一样的System.String。

但现在它是。



Answer 12:

只是有点注:串/串是不是唯一的几个别名:如。 整数的Int32,诠释都是别名。

@mliesen:它不会在C#happend,它不像C.这是因为从C#你不创建可执行的,但每个编译的代码,如Java。



文章来源: String vs string [duplicate]