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

在C#中,我通常在使用方法时使用2620069921069469466624,在声明变量时使用String。 我在其他地方读到,这是保持事物清洁的首选方法,这对我来说很有意义。 在Visual Studio 2015中,当我使用String26:Name can be simplified时,我收到了一条从未收到的新消息。VS建议使用2620069921069469428。

为什么在VS2015中现在优先于2620069921069469466625而现在却优先于2620069921069469466624,而不是在2013年呢?

此问题不可重复。 有人问总体上有什么区别,我想问为什么VS现在建议一个? 我不知道技术上的差异是否有所改变或有所改变。

vaindil asked 2019-11-18T19:41:00Z
4个解决方案
41 votes

因为您没有取消选中“在声明局部变量,参数和成员时首选固有的预定义类型关键字”被发现工具>选项>文本编辑器> C#>代码样式

SLaks answered 2019-11-18T19:41:25Z
13 votes

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

选择“首选框架类型”


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

取消选中“在成员访问表达式中首选固有的预定义类型关键字”


VS2017 / 15中针对此选项翻转给出的示例

String.Format()(首选预定义类型/已选中)

String.Format()(首选框架类型/未加载)


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

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

ono2012 answered 2019-11-18T19:42:43Z
7 votes

字符串是C#中System.String的别名。 因此,从技术上讲,没有区别。 有点像int vs. System.Int32。

就您的“应做”而言,字符串是变量的首选对象,而字符串是类的首选对象,因为这是实践选择。

通常这样看

string example = "hello world";

string example = String.Format("Hello World {0}!", example);
riley answered 2019-11-18T19:43:21Z
4 votes

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

John Gietzen answered 2019-11-18T19:43:46Z
translate from https://stackoverflow.com:/questions/32187486/why-is-string-considered-a-simplified-version-of-string