用於匿名方法與運算式樹:
var nums = new[] { 22, 333, 4444, 9 };
int max = nums.Max(n => n); // 4444
int min = nums.Min(n => n); // 9
var strs = new[] { "aaa", "bbbb", "ccccc", "dd" };
int maxLen = strs.Max(s => s.Length); // 5
int minLen = strs.Min(s => s.Length); // 2
| 運算子 | 名稱 | 範例 | 結果 |
|---|---|---|---|
& | 位元 AND / 邏輯 AND (非短路) | `true & false` | `false` |
| | 位元 OR / 邏輯 OR (非短路) | `true | false` | `true` |
^ | 位元 XOR / 邏輯 XOR | `true ^ false` | `true` |
! | 邏輯 NOT | `!true` | `false` |
對 `bool` 型別,&、|、^ 為邏輯運算 (非短路);對整數為位元運算。
// &
true & true // true
true & false // false
false & false // false
// |
true | true // true
true | false // true
false | false // false
// ^
true ^ true // false
true ^ false // true
false ^ false // false
// !
!true // false
!false // true
位元運算子優先序低於比較運算子,複合運算式建議加括號:
if ((flags & Mask) != 0) // 正確
if (flags & Mask != 0) // 錯誤:先算 Mask != 0