คำถามติดแท็ก filtering

2
การกรองลูป foreach ด้วยเงื่อนไขที่ vs clause ต่อไป
ฉันเห็นโปรแกรมเมอร์บางคนใช้สิ่งนี้: foreach (var item in items) { if (item.Field != null) continue; if (item.State != ItemStates.Deleted) continue; // code } แทนที่จะใช้ที่ฉันปกติ: foreach (var item in items.Where(i => i.Field != null && i.State != ItemStates.Deleted)) { // code } ฉันเคยเห็นการรวมกันของทั้งสอง ฉันชอบการอ่านด้วยคำว่า 'ดำเนินการต่อ' โดยเฉพาะอย่างยิ่งกับเงื่อนไขที่ซับซ้อน มีความแตกต่างในประสิทธิภาพหรือไม่ ด้วยแบบสอบถามฐานข้อมูลฉันสมมติว่าจะมี สิ่งที่เกี่ยวกับรายการปกติ?
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.