c#中十进制和​​十进制之间的差异

时间:2013-11-29 10:31:08

标签: c# variables struct type-conversion

任何人都可以解释一下在C#中Decimal as Struct声明和十进制作为变量类型有什么区别?

如果它们是相同的东西,那么为什么它们都存在于C#中。

类似于Bool和bool,String和string ......等......

4 个答案:

答案 0 :(得分:6)

类型为global::System.Decimal; decimal 只是的别名。它们的存在与使用int而不是System.Int32的原因相同 - 尽管在decimal的情况下,优势是......不太清楚 - 它基本上归结为“不做”需要using System;指令“,但...... meh

它们是相同/同义词(当然假设您的Decimal解析为System.Decimal,而不是某些自定义My.Decimal。)

答案 1 :(得分:3)

decimalSystem.Decimal结构的简写符号 所以两者之间没有区别。

  

如果它们是相同的,那么为什么它们都存在于C#中。

为了方便用户,用户可以输入decimal而不是System.Decimal

  

类似于Bool和bool,String和string

是的,类似地,许多类型都有short hand notations 其中很少如下:

-Type-        -Short hand notation-

System.Byte   - byte
System.Int16  - short
System.Int32  - int
System.Int64  - long
System.SByte  - sbyte
System.UInt16 - ushort
System.UInt32 - uint
System.UInt64 - ulong


System.Single  - float
System.Double  - double

System.Boolean - bool
System.Char    - char


String         - string

答案 2 :(得分:0)

Decimal是CLR类型,decimal是c#关键字。

它们对你的程序都是一样的,c#在后台创建一个Decimal。实际上 decimal只是Decimal的别名

答案 3 :(得分:0)

他们是一样的。十进制类型是System.Decimal的别名。

所以基本上十进制和Decimal是一样的。这取决于用户的偏好,哪个使用,但大多数人更喜欢使用int和string,因为它们更容易键入,更熟悉C ++程序员。