7

如果我理解正确,Visual Studio 应该将数据类型着色为蓝色。那么为什么不使用 DateTime 呢?

在此处输入图像描述

谢谢

4

5 回答 5

14

intC# 语言规范中定义的关键字,而DateTime是结构。如果您使用Int32,您会注意到它也会变成与 DateTime 相同的颜色,因为Int32它不是关键字(即使int是 的别名Int32)。

Visual Studio 中的默认颜色设置是突出显示keywords蓝色,这就是您显示的关键字为蓝色的原因。

于 2013-08-03T18:19:52.377 回答
2

DateTime 不是关键字;它是一个结构,它是一个 ValueType,而一个类是一个引用类型。这些不被视为基元,因此除非您在 VS 设置中更改颜色,否则它们不会着色。

从技术上讲,关键字 int、string、bool 和 double 是关键字,但它们映射到 .NET 框架中的 Struct 等效项。这种方式 int 在 VB 和 C# 中的工作方式相同。

所以一个 int 映射到 Int32 Struct。它们被涂成蓝色以模仿其他语言中的原始类型。

细节

于 2013-08-03T18:10:40.467 回答
1

DateTime 是一个类,您实例化一个类的对象,而其他原始数据类型(如 int、float)都是关键字。

于 2013-08-03T19:04:16.327 回答
1

我发现当我改变我的环境配色方案时,我失去了一些默认的代码突出显示。通过简单地在其他颜色主题(蓝色、深色、浅色..)之间切换,代码突出显示问题得到了解决。

这可以在工具 > 选项 > 环境中完成

于 2014-07-04T11:43:07.610 回答
0

如果你发现你的 DateTime 是黑色的而不是彩色的,那么当我的 VisualStudio 配置搞砸并恢复为默认值时,我就知道了。

如果你去 TOOLS > Options > Environment > Fonts and Colors 然后向下滚动到“用户类型(值类型)”然后将其更改为不同的颜色语法突出显示 DateTime 恢复(它似乎有时会出错并且即使通过它也不会突出显示设置为颜色)

于 2014-06-17T13:58:43.160 回答