这两者之间有什么区别,我应该使用哪一个?
string s = "Hello world!";
String s = "Hello world!";
这两者之间有什么区别,我应该使用哪一个?
string s = "Hello world!";
String s = "Hello world!";
当前回答
表示带变量与带,但在访问其静态成员之一时使用带类:
String.Format()
变量
string name = "";
其他回答
实际上没有区别
关键字 C# 连接地图到.NET 类型的 System.String - 这是一个标签,保持到语言的名称公约。
在一个优化CIL(是MSIL)背景(.NET VM 组合语言)中的其他语言 -.NET 框架或 Mono 或任何 CIL 类型的区域在一本针对多个.NET 语言(如 VB.NET、 F# 等)的书中。
因此,真正的答案是,仅仅是因为C#必须与其他语言共享.NET 空间,这个问题甚至存在。
C、总结...
对于您的内部组织,如果您也使用 VB.NET 或 F# 或任何其他.NET 语言,或者开发图书馆用于客户的消费,那么您应该在这些背景下使用“Frameworky”类型,以便每个人都能理解您的界面,无论您是谁。
HTH。
上述的一切基本上是正确的,一个人可以检查它。
public static void Main()
{
var s = "a string";
}
编辑并打开.exe 与 ildasm 查看
.method private hidebysig static void Main(string[] args) cil managed
{
.entrypoint
// Code size 8 (0x8)
.maxstack 1
.locals init ([0] string s)
IL_0000: nop
IL_0001: ldstr "a string"
IL_0006: stloc.0
IL_0007: ret
} // end of method Program::Main
然后变成线条和线条,编译,打开与 ildasm 并看到 IL 不会改变. 它也显示语言的创作者在定义变量时更喜欢线条(spoiler:当呼叫会员时,他们更喜欢线条)。
字符串和字符串之间的微小差异在C#. 字符串只是系统的标志. 字符串. 两个字符串和字符串都是以相同的方式编写的. 答案是非常简单的. 字符串是关键词提供有限的功能,主要使用字符串创建变量如(字符串名称 = “Abrar”). 或者我们可以说这是一个数据类型我们使用特殊的字符串。
string 是.NET 框架中的 String 的标志。
在哪里“String”实际上是 System.String。
我会说它们是可交换的,没有区别什么时候和在哪里你应该使用一个或另一个。
最好是和你所使用的相一致。
对于什么是值得的,我使用链来宣布类型 - 变量,属性,回报值和参数. 这与其他系统类型的使用一致 - int, bool, var 等(尽管 Int32 和 Boolean 也是正确的)。
我使用 String 在 String 类上使用静态方法,如 String.Split() 或 String.IsNullOrEmpty()。我觉得这更有意义,因为方法属于一个类,并且与我使用其他静态方法一致。