&=运算符在C#中做了什么?

ela*_*dmi 1 c# boolean operators

&=运算符在C#中做了什么?

例如:

bool approved;
// Approved is a property of cra, also bool
approved &= cra.Approved;
Run Code Online (Sandbox Code Playgroud)

非常感谢!

Jon*_*eet 5

这意味着它是一个复合赋值运算符.就像:

i += 1;
Run Code Online (Sandbox Code Playgroud)

就好像

i = i + 1;
Run Code Online (Sandbox Code Playgroud)

所以

approved &= cra.Approved;
Run Code Online (Sandbox Code Playgroud)

就好像

approved = approved & cra.Approved;
Run Code Online (Sandbox Code Playgroud)

&在这种情况下,逻辑AND运算符在哪里(因为我们处理的是bool值;对于整数,它将是按位AND运算符).

有关复合赋值运算符的确切性质的更多详细信息,请参见C#4规范的第7.17.2节.