开发者

Is there any way to convert 'Double' or 'double' to 'const Double' or 'const double' in C#?

My question is similar to Const doub开发者_StackOverflow中文版le initialised from Lua but I am asking this question

Double W1 = -21.0;
const Double X = (const Double) W1;

is there any way to do so.

And is there any difference between:

    double Y;
    Double Y;


Is there any way to do so?

There isn't because a constant value has to be known at compile time, so you cannot assign it to a normal variable

And is there any difference between: double Y; and Double Y;

Absolutely no difference, the first is an alias to the actual type.


If the symbol that you wish to behave as a constant is a field you could use the readonly modifier instead of constant. This will allow you to assign a value to the symbol either in the field initializer or the (static/non-static) constructor.

From MSDN:

The readonly keyword differs from the const keyword. A const field can only be initialized at the declaration of the field. A readonly field can be initialized either at the declaration or in a constructor. Therefore, readonly fields can have different values depending on the constructor used. Also, although a const field is a compile-time constant, the readonly field can be used for run-time constants, as in this line: public static readonly uint l1 = (uint)DateTime.Now.Ticks;

Example:

class A
{
    readonly double d;

    public A()
    {
        double w = -21.0;
        d = w;
    }
}
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜