Csharp/C#教程:在C#中混淆关于常量十进制字段的警告分享


在C#中混淆关于常量十进制字段的警告

我正在尝试使用const修饰符,同时探索大量的C#教程,并在这样的类中放置了一堆const修饰符,而不是在任何地方实际使用它们:

 class ConstTesting { const decimal somedecimal = 1; const int someint = 2; ... } 

有了这个类,我收到以下警告(使用csc):

ConstTesting.cs(3,19):警告CS0414:分配了字段’ConstTesting.somedecimal’但它的值从未使用过

我不明白的是我只得到const decimal的警告。 无论顺序或类似的东西, const int都不会给我任何警告。

我的问题是,为什么会发生这种情况? 为什么我的csc编译器会首先警告我一个const ,如果更重要的是, 为什么当我以完全相同的方式编写const int它只会警告我const decimal ? 究竟什么是intdecimal之间的区别呢?

请注意:

Int是固定大小的简单值类型。 由于规模,十进制有点复杂。 如果您反编译代码,您会发现它看起来像这样:

 [DecimalConstant(0, 0, 0, 0, 1)] private readonly static decimal somedecimal; private const int someint = 2; 

其中十进制不是常量,但有一个DecimalConstant属性由mscorlib.dll提供,其中十进制的真正定义是:

 public struct Decimal : IFormattable, IComparable, IConvertible, IDeserializationCallback, IComparable, IEquatable 

本博客文章中对此主题进行了更深入的探索。

上述就是C#学习教程:在C#中混淆关于常量十进制字段的警告分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/957607.html

(0)
上一篇 2021年11月21日
下一篇 2021年11月21日

精彩推荐