C# 用另一个变量分配非静态数据成员变量

C# 用另一个变量分配非静态数据成员变量,c#,class,variables,field,datamember,C#,Class,Variables,Field,Datamember,为什么不能为类非静态数据成员变量分配另一个变量? 例如: 答案是OOPS:-) firstFlag和secondFlag都是类数据成员。根据定义,您只能在成员方法或构造函数中访问它们 要执行所需操作,请尝试以下操作: internal class A { bool firstFlag = false, secondFlag = false; } 感谢以下方面的讨论: 请参阅C#语言规范第10.5.5.2节实例字段初始化状态-实例字段的变量初始值设定项不能引用正在创建的实例。因此,在变量初

为什么不能为类非静态数据成员变量分配另一个变量? 例如:

答案是OOPS:-)

firstFlag和secondFlag都是类数据成员。根据定义,您只能在成员方法或构造函数中访问它们

要执行所需操作,请尝试以下操作:

internal class A
{
   bool firstFlag = false, secondFlag = false;
}

感谢以下方面的讨论:


请参阅C#语言规范第10.5.5.2节实例字段初始化状态-实例字段的变量初始值设定项不能引用正在创建的实例。因此,在变量初始值设定项中引用“this”是编译时错误。(因此,变量初始值设定项通过简单名称引用任何实例成员是编译时错误)。

您可以让它返回计算值,即secondFlag将始终返回存储在firstFlag中的值,使用语法
boolsecondflag=>firstFlag,但这不是问题的实际答案。您可以指定一个文本值,在执行构造函数时,这些值被指定为默认值。在这些情况下,只需单击问题下方的
关闭
,并将其标记为重复项,而不是编写答案。
internal class A
{
   bool firstFlag = false, secondFlag = false;
}