在c#中是十进制和十进制不同?

在c#中,如果我使用decimal (小写’d’),IDE会以深蓝色显示(如int )。 如果我使用Decimal (大写’d’),IDE会以teal(如类名)显示它。 在这两种情况下,工具提示都是struct System.Decimal

有什么区别吗? 是一个“首选”?

不; 相同。 decimal定义System.Decimal的别名,并且通常是首选,除了在公共方法名称中,您应该使用正确的名称( ReadDecimal等) – 因为您的调用者可能不是C#。 这在intReadInt32等中更为明显。

肯定没有Java风格的拳击差异。

(当然,如果你做一些像声明一个更完全不同的更多命名空间局部Decimal东西,那么就会差异,但那会很愚蠢)。

同样的事情,Decimal是.Net类型,decimal是c#关键字。

System.Decimal它是.NET Framework类型, decimal是C#语言中的别名

它们都在IL中编译为System.Decimal ,因此没有区别。

关于intSystem.Int32stringSystem.String等完全相同。

decimal是Decimal的别名。 他们是一样的东西。

深蓝色用于语言关键字,蓝绿色用于类型。 在decimal的情况下,它是表示类型别名的关键字。

decimal是一个关键字,始终引用基类库中定义的struct System.DecimalDecimal通常意味着与大多数人using System;相同的东西using System; 在他们的源代码之上。 但是,严格地说,那些不相同(你不能盲目地找到并替换它们):

  namespace Test { class Decimal { } } // File2.cs using Test; class DecimalIsNotdecimal { void Method(decimal d) { ... } void Method(Decimal d) { ... } // works! } 

不,它们只是捷径。

如果将鼠标hover在小数上,您将看到System.Decimal。 与int和System.Int32,object和System.Object,string和System.String,double和System.Double一样

我更喜欢小数和字符串,但我认为它是个人的

不,他们是一回事。 一个被着色为关键字(十进制),另一个被着色为类型(十进制)。 关键字只是该类型的别名。

这是同一件事。 ‘deciaml’是System.Decimal的c#关键字。

这适用于其他类型,如字符串和字符串等。