下面的代碼循環(huán)訪問表單上的所有復(fù)選框,反轉(zhuǎn)每個(gè)復(fù)選框的 .Checked 狀態(tài)。是否可以避免使用 LINQ 來執(zhí)行此操作?public void TickChecker() { foreach (CheckBox con in Controls.OfType<CheckBox>()) { con.Checked ^= true; } }
2 回答

瀟瀟雨雨
TA貢獻(xiàn)1833條經(jīng)驗(yàn) 獲得超4個(gè)贊
C# 長(zhǎng)期以來支持兩個(gè)運(yùn)算符來檢查對(duì)象的類型:is 和 as。C# 7 添加了一種使用 is 運(yùn)算符的新方法,該方法將 is 與基本模式相結(jié)合,為 as 提供替代方案。所以你可以在你的foreach:
foreach (Control con in Controls)
{
if (con is CheckBox checkBox)
{
checkBox.Checked ^= true;
}
}

MMMHUHU
TA貢獻(xiàn)1834條經(jīng)驗(yàn) 獲得超8個(gè)贊
那這個(gè)呢:
public void TickChecker()
{
foreach (var con in Controls)
{
CheckBox checkBox = con as CheckBox;
if (null != checkBox)
{
checkBox.Checked ^= true;
}
}
}
- 2 回答
- 0 關(guān)注
- 117 瀏覽
添加回答
舉報(bào)
0/150
提交
取消