在视觉工作室中,当我输入字符串时,它显示两个建议为可能重复:
What’s the difference between String and string?
When does it matter whether you use int versus Int32, or string versus String?
是'string'和'String'是一样的吗? Visual Studio为两者显示相同的描述。
所以如果它们相同则需要保留两个执行相同功能的不同东西?
答案 0 :(得分:7)
是的,正如this文章所证实的那样,在使用它时技术上没有任何区别。如答案中所述,如果您使用string
,则认为是最佳做法。
希望这能为你解决这个问题!
答案 1 :(得分:4)
string
只不过是System.String
的别名。
同样适用于int
System.Int32
(see this answer)的别名。
我同意使用String
进行静态函数调用的一般准则,例如String.Format
而不是string.Format
(尽管我更喜欢string.Empty
),并使用{{ 1}}用于对象(string
)。
但是,在这一点上,这都是偏好和惯例的问题。
答案 2 :(得分:2)
同样MSDN也是如此,string
只是System.String
的别名。如果您想查看C#中别名的完整地图,可以参考:Data Types (C# vs. Java)。
答案 3 :(得分:1)
是的。 string
只是String
的别名:它们具有相同的功能,它们的工作方式相同...通常我更喜欢使用String,因为代码为synthax高亮显示。但它们是等效的,与int
的别名Int32
完全相同,而long
是Int64
的别名。
答案 4 :(得分:0)
我认为两者都是相同的,因为两者都在同一个命名空间中。所以不要混淆。您可以使用它们中的任何一个来表示字符串。