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

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

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