是否可以为您自己的类型创建新关键字(如`System.Double`的`double`)?

时间:2017-01-22 03:31:45

标签: c#

我想知道是否有人可以解释System.double与System.Double的不同之处以及如何在代码中构造这些差异。

如果看一下班级:

public struct Double : IComparable, IFormattable, IConvertible, IComparable<Double>, IEquatable<Double>

来自:https://referencesource.microsoft.com/#mscorlib/system/double.cs,1a65cbdb09544ba1

双重和双重类型之间没有明确的区别。

使用Visual Studio 2015时,建议使用双键字而不是Double,因为转换次数较少。

如果我要编写自定义数据类型并从double派生,例如,通过动态构建它就足以让球滚动。

让我感到困惑的是.NET如何派生基础数据类型。

修改 在网上搜索表明这个主题存在很多混乱。例如:

using System;

public class QBit : IComparable, IFormattable, IConvertible
{

internal _qbit

public string Value { get { return _qbit; }

public QBit()
{
_qbit = "1978";
}

}

在另一堂课:

using System;

using qbit = QBit;

public class Spinstate
{

internal _state

public string Value { get { return _state; }

public QBit()
{
qbit = new QBit ();
_state = qbit.Value;
}

}

Keyword不同,这是Alias。如何申报关键字?

编辑: KEYWORD定义为:

  

关键字是预定义的保留标识符,对编译器具有特殊含义。它们不能用作程序中的标识符,除非它们包含@作为前缀。例如,@ if是合法标识符,但如果不是因为它是关键字。

Keyword'double'的定义如下:

  

double关键字表示存储64位浮点值的简单类型。下表显示了double类型的精度和近似范围。

Type是由IEEE 754 standard指定的,它是binary64双精度浮点格式 - 但是,我们还没有更接近于在Code中定义关键字,更重要的是“以及它们是如何形成的构造

1 个答案:

答案 0 :(得分:1)

不,不可能在C#(和大多数其他语言)中创建新关键字,因为这些是由语言作者预定义的。添加一个的唯一方法是说服语言作者将其包含在语言规范中。