微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么建议使用string.Empty而不是“”?

如何解决为什么建议使用string.Empty而不是“”?

| 为什么更推荐ѭ0而不是ѭ1? 是因为当编译器解析代码并出现
\"
时,编译器已准备好读取字符串吗?但是在ѭ0中,编译器甚至不会准备好读取字符串?     

解决方法

还有另一个原因。 常量由于其性质而为静态,是对某些应用程序域中所有线程共享的单个实例的引用,而文字最终会产生空字符串的“ 4”个实例。 这就是为什么建议使用“ 0”常量只读字段而不使用空的“ 1”字符串文字的原因,并且显然,正如其他人所说的那样,它可以提高可读性。 无论如何,都应该考虑字符串插入,因为在某些条件下,包含同一字符串的两个或多个文字可能会在单个实例中结束(请参见
String.IsInterned
文档的备注部分):   公共语言运行时会自动维护一个表,称为   实习生池,其中包含每个唯一实例的单个实例   在程序中声明的文字字符串常量,以及任何唯一的   您通过调用Intern以编程方式添加的String实例   方法。     ,不,这当然不是正确的答案。您没有提到语言,所以让我在这里猜一些东西:
String.Empty
是在class9ѭ类中定义的常数。
\"\"
是空字符串的字符串文字。 现在,如果要进行相等比较,那么您要确保您正在谈论的是同一对象,对吗? 您的语言是否保证
\"\"
string.empty
比较相等?这也可能是运行时的问题。我认为您想在Google上使用的术语是字符串实习。如果有,那么使用哪一个都不重要。如果您不这样做,那么会发生细微的错误。 编辑:我看到你在谈论c#。那确实有字符串实习,所以使用哪一个都不重要。这只是样式问题。     ,如果您使用的是
\"\"
,则很容易将其与
\" \"
混淆,以便提高可读性。可以使用
String.Empty;
    ,从根本上讲,它就像是一个常量值,更便于人类阅读。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。