在.NET Framework中,至少在C#语言中,我们有两个字符串类型的“版本”:
- “串”
- “串”
看来它们是可互换的,但它们是真的吗?如果它们不可互换,通常在一种情况下使用一种替代另一种更好吗?
string
在中不存在.net
,仅在C#中存在。
在.NET Framework中,至少在C#语言中,我们有两个字符串类型的“版本”:
看来它们是可互换的,但它们是真的吗?如果它们不可互换,通常在一种情况下使用一种替代另一种更好吗?
string
在中不存在.net
,仅在C#中存在。
Answers:
嗯,根据MSDN
string是.NET Framework中String的别名。
实际上是“字符串”的地方System.String
。
我要说的是它们是可互换的,在何时何地使用一种或另一种没有什么区别。
最好与您使用过的一致。
String
(因此起string
别名)是引用类型。
如前所述,它们是同一件事,string
只是的别名String
。
对于它的价值,我string
用来声明类型-变量,属性,返回值和参数。这与使用其他系统类型一致- ,,int
等(虽然和bool
var
Int32
Boolean
也是正确的)。
我用String
使用String类的静态方法的时候,喜欢String.Split()
或String.IsNullOrEmpty()
。我觉得这更有意义,因为这些方法属于一个类,并且与我使用其他静态方法的方式一致。
我建议使用小写字母string
。大写字母String
将使用在导入的命名空间中找到的第一个名为String的类System.String
。可以改用您自己的String类。
String
,而永远不会欺骗string
。
string
。
string
是一个C#关键字,只是该关键字的别名 System.String
..但因为它是关键字,所以语法着色编辑器/ IDE将以关键字颜色显示它,与int,double,if,else等相同。在风格上,您可能更喜欢使用关键字而不是System.String
类型(或紧随String
其后)你做完了using System;
)。
这是一个特殊点虽然,因为虽然bool
,char
,int
,double
和string
对于系统类型的所有关键字的别名,string
是奇数一法,因为它是一个引用类型,其余为值类型。
object
也是引用类型的关键字别名
string
只是String
它们的别名,它们最终是相同的。
你可以用你喜欢哪个,虽然我一般用string
的时候我打算使用它就像一个基本数据类型(类似int
,float
或bool
),并String
当我使用它作为一个对象/类规划。例如:
string foo = " ";
if (String.isNullOrWhitespace(foo))
{
// ...
}
在上述情况下,我计划foo
仅使用存储一些文本(有效地作为原始文本),因此我使用string
; 但是,当我打电话时String.isNullOrWhitespace(string)
我使用String
。我这样做是因为通常类名的首字母大写(String
),而基元的首字母(例如int
)则大写。