C# 为什么在Visual Studio 2015中string.IsNullOrEmpty优于string.IsNullOrEmpty?

C# 为什么在Visual Studio 2015中string.IsNullOrEmpty优于string.IsNullOrEmpty?,c#,visual-studio-2015,C#,Visual Studio 2015,多年来我一直在编写String.IsNullOrEmpty,在Visual Studio 2015中,IDE建议将其重构为String.IsNullEmpty,为什么?你会怎么做 我很理解字符串和字符串背后的含义,然而,我只是想知道为什么VS2015可以给我一个我不需要的提示 IDE建议将其重构为string.IsNullEmpty,为什么 实际上,String和String之间没有区别,因为两者都是相同的,String只是一个别名。如果VS仍然抱怨重新分解它,那么可能是因为一些FxCop代码分

多年来我一直在编写String.IsNullOrEmpty,在Visual Studio 2015中,IDE建议将其重构为String.IsNullEmpty,为什么?你会怎么做

我很理解字符串和字符串背后的含义,然而,我只是想知道为什么VS2015可以给我一个我不需要的提示

IDE建议将其重构为string.IsNullEmpty,为什么


实际上,
String
String
之间没有区别,因为两者都是相同的,
String
只是一个别名。如果VS仍然抱怨重新分解它,那么可能是因为一些
FxCop
代码分析规则。您可能需要验证相同的设置

在我的一次工作经验中,他们有一个
FxCop
自定义规则设置,使用实际的类型名称而不是别名,比如使用
String
而不是
String
(或)
Int32
而不是
int
,这是由于以下的“代码样式”选项造成的:

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

取消选中以下选项,它将停止警告您


如果您发现样式很有用,因为它们强制您的代码具有某种一致性,您希望得到警告,那么请保持选中状态。就我个人而言,我只想取消选中它。

String
String
是同义词,所以我不知道为什么它会告诉你,既然它们确实指向同一类型,那么其中一个不可能比另一个更好。再见,谢谢。我现在取消勾选并感到高兴。:)