gpt4 book ai didi

c# - 关于 IsNullOrWhiteSpace() 的快速提示中的 "String"与 "string"

转载 作者:太空狗 更新时间:2023-10-29 17:51:46 32 4
gpt4 key购买 nike

在 Visual Studio 2015 中工作,我对以下效果进行了条件检查:

if(String.IsNullOrWhiteSpace(stringToTest))

我看到了一个 IDE001 quick tip or action建议“名称可以简化”并建议更正:

if(string.IsNullOrWhiteSpace(stringToTest))

唯一的区别是使用 string 而不是 String

full quicktip


MSDN examplesStringthis SO answer 中使用大写 S阐明“string 是 C# 中 System.String 的别名。因此从技术上讲,没有区别。”

需要说明的是,我的问题取决于 String vs. string 中的答案,但我的问题与那里提出的问题不同。

相关的还有 this SO question ,尽管那里的答案并没有真正解决问题。该特定问题与我的非常相似,但它被标记为 the other SO question 的重复项。我注意到。和 there is a comment OP 表示这是 2015 年才出现的全新行为。


我的问题

我的问题是,如果两种变量类型相同,并且 MS 示例使用大写版本,为什么我会看到使用小写版本的快速操作? .NET 4.6 框架和VS2015 鼓励使用小写版本?我似乎不应该看到那种类型的提示。

最佳答案

好吧,比我聪明的人已经注意到编译级别实际上没有区别,并且像您一样(和您将看到的 JohnyL ;)一样,我也认为这是一个错误并找到了导致我回答的原因:

why am I seeing quick actions to use the lower case version?

取自this内容丰富(且有趣)的错误讨论,这些是此功能的要点:

  • 它不仅改变字母大小写,还将 String 类型名称替换为 string 关键字。 2 碰巧只是大小写不同的事实纯属巧合。存在字符数不同(Int32 -> int)或名称完全不同(Single -> float)的情况。
  • 小写的名字更容易输入。
  • 对于实际上更喜欢代码中 string 一致格式的人(这可能取决于您编写代码所用的其他语言及其约定),此功能有助于更改现有源代码以保持一致。<
  • string 也是一个具有明确含义的关键字,而 String 的含义可能因上下文而异。

Was there a change in the .NET 4.6 framework and VS2015 to encourage using the lower case version?

据我所知,没有。

顺便说一句,您可以在“工具”>“选项”>“文本编辑器”>“C#”>“代码样式”>“取消选中“在成员访问表达式中首选内在预定义类型关键字””中更改此行为以适合您的偏好。

关于c# - 关于 IsNullOrWhiteSpace() 的快速提示中的 "String"与 "string",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34597973/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com