是這樣的:Linq更快,更慢還是相同?
Box boxToFind = AllBoxes.FirstOrDefault(box => box.BoxNumber == boxToMatchTo.BagNumber);
高於或低於此:
Box boxToFind ;
foreach (Box box in AllBoxes)
{
if (box.BoxNumber == boxToMatchTo.BoxNumber)
{
boxToFind = box;
}
}
兩個給我,我要找(boxToFind
)的結果。這將在我需要表現認真的移動設備上運行。
你的第一個方法不會編譯。在哪裏返回一個IEnumerable。爲了相當於最後一個,你會喜歡做AllBoxes.Last(box => ...) – 2010-05-21 17:29:30
好點。我改變了我的第一種方法。 (雖然我沒有使用最後一個,因爲它「應該」只有唯一的值) – Vaccano 2010-05-21 17:37:26
第二種方法將編譯,但會給你最後一個匹配的方框。休息一下;當你退出if時。 – Rubys 2010-05-21 17:38:51