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

C# 是否可以为您自己的类型创建新关键字(如'System.double'的'double')?,c#,C#,我想知道是否有人能解释System.double与System.double的区别,以及这些区别是如何在代码中构造的 如果你看一看这个班级: public struct Double : IComparable, IFormattable, IConvertible, IComparable<Double>, IEquatable<Double> 在另一类中: using System; using qbit = QBit; public class Spinsta

我想知道是否有人能解释System.double与System.double的区别,以及这些区别是如何在代码中构造的

如果你看一看这个班级:

public struct Double : IComparable, IFormattable, IConvertible, IComparable<Double>, IEquatable<Double>
在另一类中:

using System;

using qbit = QBit;

public class Spinstate
{

internal _state

public string Value { get { return _state; }

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

}
和a不一样,这是一个。如何声明关键字

编辑:关键字定义为:

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

“”的定义如下所示:

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


类型是由指定的,这是一种二进制64双精度浮点格式-但是,我们还没有在代码中定义关键字,更重要的是“及其构造方式”

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

系统。double
不存在,它只是一个关键字
double
。请注意,
double
不是.NET的一部分,只是C#和任何其他碰巧使用它的语言,可能都是
System.double的别名。标准
string vs.string
问题涵盖了您感兴趣的所有类型。如果您需要更具体的副本-(使用搜索引擎-如Bing-或Google来阅读更多有关该主题的内容)。请注意,如果您只是查看在编译器中如何定义关键字列表,您可以查看源代码来找到它(编译器内件超出了我的知识范围-因此不知道关键字表的确切位置)扩展关键词列表可能不像“扩展方法”那么容易(除非你打算扩展C语言本身,否则可能根本不可能)@GoogleInc我已经将帖子的标题改为我相信你正在寻找的内容,并添加了“否”作为答案。谢谢你-搜索Roslyn代码以获取发布示例。我有一个数据类型的想法,这可能有助于我的编码。如果能在全球范围内实施,那就太好了。
using System;

using qbit = QBit;

public class Spinstate
{

internal _state

public string Value { get { return _state; }

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

}