在C#4.0中为方法参数指定默认值时,我可以使用“”但不能使用string.Empty。如果string.Empty可能意味着“”之外的其他内容,那么这是有意义的,但它是一个常量,它不会被声明为const。
这对微软来说只是一个错误,他们无法用const清理它,因为它对于语言来说太核心而且会是一个突破性的变化?或者是否有正当理由让这个人口居首行而不是const?
答案 0 :(得分:4)
它不能是文字,也不能从String
的原生半部分访问。
评论(在参考资料中)说:
// The Empty constant holds the empty string value.
//We need to call the String constructor so that the compiler doesn't mark this as a literal.
//Marking this as a literal would mean that it doesn't show up as a field which we can access
//from native.
public static readonly String Empty = "";