在c#中,我想用空字符串初始化一个字符串值。
我该怎么做呢? 什么是正确的方法,为什么?
string willi = string.Empty;
or
string willi = String.Empty;
or
string willi = "";
还是别的什么?
在c#中,我想用空字符串初始化一个字符串值。
我该怎么做呢? 什么是正确的方法,为什么?
string willi = string.Empty;
or
string willi = String.Empty;
or
string willi = "";
还是别的什么?
当前回答
我只是在看一些代码,然后这个问题突然出现在我的脑海里,这个问题是我以前读过的。这当然是可读性的问题。
考虑下面的c#代码…
(customer == null) ? "" : customer.Name
vs
(customer == null) ? string.empty : customer.Name
我个人认为后者不那么模棱两可,也更容易阅读。
正如其他人指出的那样,实际的差异可以忽略不计。
其他回答
一个不同之处在于,如果使用切换大小写语法,就不能编写大小写字符串。空:因为它不是一个常数。您将得到一个编译错误:期望一个常量值
更多信息请看这个链接: string-empty-versus-empty-quotes
我个人更喜欢“”,除非有很好的理由去做更复杂的事情。
虽然差别非常非常小,但差别仍然存在。
""在String时创建一个对象。空则不然。但是这个对象只创建一次,如果代码中有另一个"",就会从字符串池中引用它。 String和String是一样的,但是我建议使用String。空(以及字符串。格式字符串。因为点表示法表示的是类,而不是操作符,而且类以大写字母开头符合c#编码标准。
没有人提到在VisualStudio中字符串的颜色编码与字符串不同。这对可读性很重要。此外,小写通常用于变量和类型,不是什么大问题,而是字符串。Empty是常量,而不是变量或类型。
字符串是System的同义词。字符串类型,它们是相同的。
值也是相同的:字符串。空==字符串。空== ""
我不会在代码中使用字符常量“”,而是字符串。空或字符串。空-更容易看到程序员的意思。
在字符串和字符串之间,我更喜欢小写字符串,因为我曾经使用Delphi很多年,Delphi风格是小写字符串。
所以,如果我是你的老板,你会写字符串。空