C# 是否可以为您自己的类型创建新关键字(如'System.double'的'double')?
我想知道是否有人能解释System.double与System.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
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;
}
}