I came across the linq query below and I am having trouble understanding it. It seems to have 2 from
statements.
var foo = (from XmlNode listingSource in listingSources
from idxRule in idxRules
where idxRule.IDXRuleID == idxRuleId && idxRule.IsEnabled && idxRule.ListingSourceID == TrioXml.GetInt32Value(listingSource, "ListingSourceID")
select TrioXml.GetInt32Value(listingSource, "ListingSourceID"));
Do 2 from
statements denote inner and outer for loop? If I were to rewrite it as a loop, would it look like this?
var foo = new List<int>;
foreach (XmlNode listingSource in listingSources) {
foreach (IDXRule idxRule in idxRules) {
if (idxRule.IDXRuleID == idxRuleId && idxRule.IsEnabled && idxRule.ListingSourceID == TrioXml.GetInt32Value(listingSource, "ListingSourceID")) {
foo.Add(TrioXml.GetInt32Value(listingSource, "ListingSourceID"));
}
}
}