在Linq Get items higher then lastname我問過如何讓人高於某個名字。查找列表中的位置,
但是,我們使用帶分頁的數據網格,並且在僅顯示高於姓氏「Jan」的人時,無法找到以AA開頭的人。
因此,我正在尋找一種方法來找出如果按照正常的選擇順序,該人會在什麼位置?
希望這是有道理的:)
[編輯] 查詢類型是EntityQuery的。 [/編輯]
在Linq Get items higher then lastname我問過如何讓人高於某個名字。查找列表中的位置,
但是,我們使用帶分頁的數據網格,並且在僅顯示高於姓氏「Jan」的人時,無法找到以AA開頭的人。
因此,我正在尋找一種方法來找出如果按照正常的選擇順序,該人會在什麼位置?
希望這是有道理的:)
[編輯] 查詢類型是EntityQuery的。 [/編輯]
所以你想要的第一人稱記錄的索引匹配你的條件?
var index = query.TakeWhile(person => person.LastName.CompareTo(name) < 0).Count();
這會計算匹配條件的元素數量,並且返回的值是與條件不匹配的第一個元素的索引。
請注意,您必須否定與Where()一起使用的條件,因爲在這種情況下,TakeWhile()用於獲取您不需要的項目。
給出的例子TakeWhile似乎是在EntityQuery無法來解決這個問題。我錯過了一個命名空間嗎?如果沒有希望,你可以提供一種替代方法。 – 2011-01-19 13:07:10