【发布时间】:2010-09-17 22:23:28
【问题描述】:
示例(注意大小写):
string s = "Hello world!";
String s = "Hello world!";
每种方法的使用指南是什么?又有什么区别?
【问题讨论】:
-
@ORMapper,但事实仍然是
string是 C# grammar 的 词法 构造,而System.String只是一个类型.不管任何规范中提到的任何 显式 差异,仍然存在这种隐含的差异,可以通过一些模糊性来适应。语言本身必须以某种方式支持string,使得实现不(相当)有义务考虑 BCL 中的特定类。 -
@KirkWoll:根据语言规范,语言本身必须认为
string与BCL 类型System.String完全相同,仅此而已。这一点也不含糊。当然,您可以使用 C# 语法实现您自己的编译器,并将找到的所有标记用于任意的东西,与 C# 语言规范中定义的内容无关。但是,生成的语言只会与 C# 相似,不能被视为 C#。 -
您可以使用
string,而不需要系统的 using 指令。String无法做到这一点。 -
对于来自 Algol 和 Fortran 的人来说,这个讨论表明
string有问题。需要缩写System.String,但是,作为别名,它看起来很像,但并不完全相同。不过,经过几年的 C#,我想说,简单地使用string和string.Format()是安全的,而不必担心System.String。 -
@Sangeeta 你在说什么?
System.String类仍然存在,string关键字仍然是它的别名。就像System.Int32和int。它们实际上是一回事。
标签: c# .net string types alias