十进制和十进制之间的差异

Mat*_*nes 25 c# class

如果有人能向我解释C#中十进制和​​十进制之间的区别,那就太棒了.

在更一般的方式中,小写结构如decimal,int,string和大写类Decimal,Int32,String之间的区别是什么.

唯一的区别是大写类也包装函数(如Decimal.Divide())?

Mar*_*tin 44

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

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

  • @RolandTumble - 你认为为什么区分大小写"愚蠢"? (18认同)
  • 如果设计师没有离开并使语言区分大小写,就不会有问题。恕我直言,少数*真正*愚蠢的决定之一。 (2认同)
  • 区分大小写是头等大事,因为它会导致错误/歧义/混淆。你真的想要一个 DoSomething 方法和一个 Dosomething 方法吗?你真的需要十进制和十进制吗?(玩鬼子提倡一点)。同样,您不希望开发人员随意使用大小写 - 但编译器规则可以强制使用一致的大小写。 (2认同)

小智 6

由于 C# 是一种 .NET 语言,因此所有类型都必须映射到 .NET Framework 类型。

要回答您的第一个问题,decimal 是 System.Decimal .NET Framework 类型的别名。它们可以互换使用。

要回答您的第二个问题, Decimal 和 decimal 都应该扩展相同的函数,包括来自创建的变量和值类型本身的“结构”。

decimal FirstDec = 12;
Decimal SecondDec = 13;
decimal ThirdDec = decimal.Ceiling(FirstDec, SecondDec);
Decimal FourthDec = Decimal.Floor(ThirdDec);
bool isEqual = FirstDec.Equals(SecondDec) && FourthDec.Equals(ThirdDec);
Run Code Online (Sandbox Code Playgroud)

以下内置类型的 MSDN 页面将显示System.ValueType每个别名映射到哪个。而对于Decimaldecimal具体情况,你可以参考这个MSDN页面小数