我在 C# 中使用了单个与号 (&) 来表示“检查second条件语句即使第一个是false".
但以下似乎是不同的意思 of &
总而言之,谁能解释一下如何i & 1
在下面的例子中有效吗?
List<int> scores = new List<int> { 1, 2, 3, 4, 5, 6, 7, 8 };
var evenScores = scores.Where(i => i % 2 == 0);
var evenScores2 = scores.Where(i => (i & 1) == 0);
单个 & 是“按位与运算符”,就像dove https://stackoverflow.com/users/30913/dove说。我正在看问题的第二部分:“为什么它有效?”
用二进制思考:
000 = 0
001 = 1
010 = 2
011 = 3
100 = 4
101 = 5
110 = 6
111 = 7
and so on
注意所有偶数都以 0 结尾;因此,如果最后一位按位检查 1 返回零(意味着“不匹配”),则它是偶数;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)