Nếu tôi viết một cái gì đó như thế này:
var things = mythings
.Where(x => x.IsSomeValue)
.Where(y => y.IsSomeOtherValue)
Đây có giống như:
var results1 = new List<Thing>();
foreach(var t in mythings)
if(t.IsSomeValue)
results1.Add(t);
var results2 = new List<Thing>();
foreach(var t in results1)
if(t.IsSomeOtherValue)
results2.Add(t);
Hoặc có một số phép thuật dưới vỏ bọc hoạt động giống như thế này:
var results = new List<Thing>();
foreach(var t in mythings)
if(t.IsSomeValue && t.IsSomeOtherValue)
results.Add(t);
Hay nó là một cái gì đó hoàn toàn khác nhau hoàn toàn?