这两种声明有什么区别?
string str;
String str;
string str;
String str;
在普通用途中,string
和String
是相同的; string
只是global::System.String
的别名。 然而,确实存在一些特殊情况:
using System;
才能使用String
- 对于string
则不需要class String {}
,那么String
将引用该类(当然这是件傻事)。 您不能定义一个名为string
的类(尽管@string
是可以的)它们没有区别。string (小写) 只是 System.String 的别名。
string
总是 System.String
的别名,而 String
只是遵循正常的类型查找规则。例如,如果您在当前作用域中有另一个名为 String
的类,则 String
将引用该类,而不是 System.String
。 - Jörg W Mittagstring是C#中的一个关键字,它对应的是System.String .NET类型。
由微软提供的C#编译器将string关键字映射到System.String .NET类型,因此它们是等效的。
实际上,在C#中,类型关键字实际上是类型的同义词。因此,int = System.Int32,short = System.Int16和string = System.String。
String是System.String对象的别名,因此没有区别。
System.String是Common Type System类型,必须与其他.NET语言进行交互。 "string"只是C#中对该名称的快捷方式(就像int是System.Int32的快捷方式一样)
Convert
是一个框架类,而不是编程语言的关键词。如果这个类中方法的命名沿用了C#关键词,那么在VB、F#或其他.NET语言中,这些方法会没有意义。 - Dan Puzey