Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# “在哪里?”;结构";来自_C# - Fatal编程技术网

C# “在哪里?”;结构";来自

C# “在哪里?”;结构";来自,c#,C#,我试图更深入地理解ValuesType和System.ValueType 我的问题是,当我右键单击int并单击“转到定义”时,我会转到mscorlib.dll中的System.Int32 现在,当我右键单击结构或(枚举)并单击“转到定义”时,会显示一个错误:“无法导航到结构” “struct”或“enum”从何而来?系统。Int32是一种类型 struct和enum都是关键字而不是类型 关于System.ValueType,请查看文档: 它明确声明不能创建从ValueType继承的类。相反,您

我试图更深入地理解ValuesType和System.ValueType

我的问题是,当我右键单击int并单击“转到定义”时,我会转到mscorlib.dll中的System.Int32

现在,当我右键单击结构或(枚举)并单击“转到定义”时,会显示一个错误:“无法导航到结构”


“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)来支持值类型的创建。”