gpt4 book ai didi

c# - 为什么不能将值分配给类主体中的属性,除非在其声明中?

转载 作者:太空宇宙 更新时间:2023-11-03 22:34:57 24 4
gpt4 key购买 nike

我希望这个问题不会太愚蠢——我找不到答案,部分原因是我不知道如何表达得好,但我认为少量代码就能很好地解释它:

class MyClass
{
int value = 10;
}

这到底是做什么的?鉴于此

class MyClass    
{
int value;
value = 10;
}

不起作用(可以理解 - 当我们不使用实际实例并且该成员不是静态时,将值分配给类的成员是没有意义的),所以我希望前者也不起作用 - 但我想它可能只是“创建实例时将此成员初始化为 10”的缩写符号,对吗?

最佳答案

这称为字段初始值设定项。正如您所说,这只是“创建实例时将此成员初始化为 10”的内联快捷方式。

初始化发生在构造函数调用之前。

字段初始化由语言定义,因此编译器知道该做什么。类主体中的语句,如赋值 value = 10 不是语言指定的,导致编译器错误。这就是第二种方法不起作用的原因。

关于c# - 为什么不能将值分配给类主体中的属性,除非在其声明中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55697843/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com