如果我理解正确,Visual Studio 应该将数据类型着色为蓝色。那么为什么不使用 DateTime 呢?
谢谢
int
是C# 语言规范中定义的关键字,而DateTime
是结构。如果您使用Int32
,您会注意到它也会变成与 DateTime 相同的颜色,因为Int32
它不是关键字(即使int
是 的别名Int32
)。
Visual Studio 中的默认颜色设置是突出显示keywords
蓝色,这就是您显示的关键字为蓝色的原因。
DateTime 不是关键字;它是一个结构,它是一个 ValueType,而一个类是一个引用类型。这些不被视为基元,因此除非您在 VS 设置中更改颜色,否则它们不会着色。
从技术上讲,关键字 int、string、bool 和 double 是关键字,但它们映射到 .NET 框架中的 Struct 等效项。这种方式 int 在 VB 和 C# 中的工作方式相同。
所以一个 int 映射到 Int32 Struct。它们被涂成蓝色以模仿其他语言中的原始类型。
DateTime 是一个类,您实例化一个类的对象,而其他原始数据类型(如 int、float)都是关键字。
我发现当我改变我的环境配色方案时,我失去了一些默认的代码突出显示。通过简单地在其他颜色主题(蓝色、深色、浅色..)之间切换,代码突出显示问题得到了解决。
这可以在工具 > 选项 > 环境中完成
如果你发现你的 DateTime 是黑色的而不是彩色的,那么当我的 VisualStudio 配置搞砸并恢复为默认值时,我就知道了。
如果你去 TOOLS > Options > Environment > Fonts and Colors 然后向下滚动到“用户类型(值类型)”然后将其更改为不同的颜色语法突出显示 DateTime 恢复(它似乎有时会出错并且即使通过它也不会突出显示设置为颜色)