为什么Visual Studio不使DateTime成为蓝色关键字?

时间:2013-08-03 18:09:41

标签: c# visual-studio syntax-highlighting

如果我理解正确,Visual Studio应该是Color Data Types Blue。那么为什么不用DateTime呢?

enter image description here

由于

5 个答案:

答案 0 :(得分:14)

intC# Language specs中定义的关键字,而DateTime是结构。如果您使用Int32,您会发现它也会变为与DateTime相同的颜色,因为Int32不是关键字(即使int是{{1}的别名})。

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

答案 1 :(得分:2)

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

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

因此int映射到Int32 Struct。它们是蓝色的,以模仿原始类型,就像它们在其他语言中一样。

Details

答案 2 :(得分:1)

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

答案 3 :(得分:1)

我发现当我更改环境配色方案时,我丢失了一些默认代码突出显示。只需在其他颜色主题(蓝色,深色,浅色......)之间切换,代码突出显示问题就解决了。

这可以在TOOLS>中完成。选项>环境

答案 4 :(得分:0)

如果你发现你的DateTime是黑色的而不是彩色的,那么当我的VisualStudio配置搞砸了并恢复到默认状态时,我就得到了它。

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