C# “在哪里?”;结构";来自
我试图更深入地理解ValuesType和System.ValueType 我的问题是,当我右键单击int并单击“转到定义”时,我会转到mscorlib.dll中的System.Int32 现在,当我右键单击结构或(枚举)并单击“转到定义”时,会显示一个错误:“无法导航到结构”C# “在哪里?”;结构";来自,c#,C#,我试图更深入地理解ValuesType和System.ValueType 我的问题是,当我右键单击int并单击“转到定义”时,我会转到mscorlib.dll中的System.Int32 现在,当我右键单击结构或(枚举)并单击“转到定义”时,会显示一个错误:“无法导航到结构” “struct”或“enum”从何而来?系统。Int32是一种类型 struct和enum都是关键字而不是类型 关于System.ValueType,请查看文档: 它明确声明不能创建从ValueType继承的类。相反,您
“struct”或“enum”从何而来?
系统。Int32
是一种类型
struct
和enum
都是关键字而不是类型
关于System.ValueType
,请查看文档:
它明确声明不能创建从
ValueType
继承的类。相反,您必须使用从类隐式继承的类型之一,使用关键字,例如struct
和enum
System。Int32
是一种类型
struct
和enum
都是关键字而不是类型
关于System.ValueType
,请查看文档:
它明确声明不能创建从
ValueType
继承的类。相反,您必须使用使用诸如struct
和enum
int
等关键字隐式继承自类的类型之一,因为它是系统的别名。Int32
类型,因此它具有可导航到的类型定义
struct
和enum
与类型不对应;它们只是C语言中的关键字。int
是系统的别名。Int32
类型,因此它有一个类型定义,您可以导航到
struct
和enum
与类型不对应;它们只是C语言中的关键词。有趣的是,enum指的是enum,所有的enum
类型都源于此。但是,这种用法非常特殊,编译器不允许您直接从中派生
一个struct
type通过值而不是引用传递,就像在C#中传递一个非指针变量一样。如果您不理解指针,则何时使用结构
或类
的细微差别相当复杂,但基本上所有值传递都是副本,而不是对原始副本的引用
enum
是一个类,它包含的条目或标志不超过一个有限的列表,并且具有前面提到的一些辅助方法。这对于以下情况非常有用:
enum direction { Up, Down, Left, Right }
否则,请参见和。机罩下的有趣注意事项,enum指的是,所有
enum
类型都源自此。但是,这种用法非常特殊,编译器不允许您直接从中派生
一个struct
type通过值而不是引用传递,就像在C#中传递一个非指针变量一样。如果您不理解指针,则何时使用结构
或类
的细微差别相当复杂,但基本上所有值传递都是副本,而不是对原始副本的引用
enum
是一个类,它包含的条目或标志不超过一个有限的列表,并且具有前面提到的一些辅助方法。这对于以下情况非常有用:
enum direction { Up, Down, Left, Right }
否则,请参见和。要添加到这一点,这里是所有关键字的列表:好的,谢谢,但是当他们说值类型继承自System.ValueType时,我如何才能看到它?我需要类似于:public something:System.ValueTypeI的内容我只是缺少
int
是System.Int32
的别名。这里有一个完整的列表:System.Int32不是从System.ValueType继承的,是吗?@Souregi:from:“尽管ValueType是值类型的隐式基类,但您不能创建直接从ValueType继承的类。相反,个别编译器提供语言关键字或构造(例如C#中的struct和Visual Basic中的Structure…End Structure)以支持创建值类型。”为了补充这一点,这里有一个所有关键字的列表:好的,谢谢,但是当他们说值类型继承自System.ValueType时,我怎么能看到它呢?我需要这样的东西:public something:System.ValueType我只是缺少int
是System.Int32
的别名。这里有一个完整的列表:System.Int32不继承自System.ValueType,是吗?@Souregi:From:“虽然ValueType是值类型的隐式基类,但不能创建直接从ValueType继承的类。相反,个别编译器提供语言关键字或构造(如C#中的struct和Visual Basic中的Structure…End Structure)来支持值类型的创建。”