我查看了 ILDASM 中的 C# struct FooStruct,并看到了以下内容:

ILDASM 在这里显示了两个不同的声明:
- 一个以(后窗和前窗的标题栏)开头
.classvaluepublic - 一个以
.class public(前窗)开头
而且我想知道哪种语法(如果不是两者)是声明值类型的正确语法?修饰符是value绝对必要的、可选的还是语法错误?
我查看了 ILDASM 中的 C# struct FooStruct,并看到了以下内容:

ILDASM 在这里显示了两个不同的声明:
.class value public.class public(前窗)开头而且我想知道哪种语法(如果不是两者)是声明值类型的正确语法?修饰符是value绝对必要的、可选的还是语法错误?
这本好书包含简单的答案:当您提供extends子句时,value标志将被忽略,但如果您不提供
extends和使用,value则 ilasm 会将给定类型声明为值类型。
换句话说value,作为语法糖被引入,以快速声明值类型。