为什么是“字符串”?被认为是“字符串”的简化版本

本文关键字:字符串 版本 为什么 认为是 | 更新日期: 2023-09-27 18:09:39

在c#中,我通常在使用方法时使用String,在声明变量时使用string。我在别处读到,这是保持东西干净的首选方法,对我来说很有意义。在Visual Studio 2015中,当我使用String: Name can be simplified时,我收到了一条新消息。VS的建议是使用string代替。

为什么在VS2015中stringString更受欢迎,而在2013中却不是?

不重复这个问题。这个问题问的是总体上的区别是什么,我问的是为什么VS现在建议一个而不是另一个;

为什么是“字符串”?被认为是“字符串”的简化版本

因为您没有取消选中"在声明局部变量、参数和成员时优先使用固有的预定义类型关键字"发现下工具>选项>文本编辑器> c#>代码样式

VS2017-2019 工具>选项>文本编辑器> c#>代码样式(>预定义类型首选项:)>对于成员访问表达式

select "Prefer framework type"


VS2015 工具>选项>文本编辑器> c#>代码样式

取消选中在成员访问表达式中优先使用固有的预定义类型关键字"


在VS2015-2019中给出的这个选项的示例翻转

var local = int.MaxValue(首选预定义类型/勾选)

var local = Int32.MaxValue (Prefer framework type/unticked)


ReSharper -要禁用它/配置检查严重性,它是"用CLR类型名称或关键字替换内置类型引用"规则。

现在没有提示我将String.Format()更改为string.Format()

因为它不需要顶部有using System;

string是c#中System.String的别名。所以从技术上讲,没有区别。这有点像int和System.Int32。

至于你应该做什么,string是变量的首选对象,string是类的首选对象,因为它是实践的选择。

通常如下所示

string example = "hello world";
string example = String.Format("Hello World {0}!", example);