任何人都可以解释一下在C#中Decimal as Struct声明和十进制作为变量类型有什么区别?
如果它们是相同的东西,那么为什么它们都存在于C#中。
类似于Bool和bool,String和string ......等......
答案 0 :(得分:6)
类型为global::System.Decimal
; decimal
只是的别名。它们的存在与使用int
而不是System.Int32
的原因相同 - 尽管在decimal
的情况下,优势是......不太清楚 - 它基本上归结为“不做”需要using System;
指令“,但...... meh 。
它们是相同/同义词(当然假设您的Decimal
解析为System.Decimal
,而不是某些自定义My.Decimal
。)
答案 1 :(得分:3)
decimal
是System.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 ++程序员。