我有一個實體列表,其中包含搜索詞,點擊等。
用戶應該能夠比較實體之間的點擊量 - 即所有包含單詞「免費樣本」的實體開始搜索,並與包含短語「逮捕我」的短語結尾的所有實體進行比較。
我可以做到這一點與多個foreach和開關(因爲用戶選擇查詢和字符串的一部分),但我明白,通過使用Linq我可以使用「開始」和「結束」功能。你能指導我通過嗎?Linq中的代表
Q
Linq中的代表
0
A
回答
1
LINQ Where()
返回一組實體滿足條件:
var filtered = entities.Where(e =>
e.SearchPattern.StartsWith("Start")
&&
e.SearchPattern.EndsWith("End"));
LINQ Single()/SingleorDefault()
返回滿足條件,如果超過一個發現一個單一的實體 - 將會拋出異常。
var filtered = entities.Single(e =>
e.SearchPattern.StartsWith("Start")
&&
e.SearchPattern.EndsWith("End"));
LINQ First()
/Last()
返回第一/最後的實體爲給定的條件......
var filtered = entities.First(e =>
e.SearchPattern.StartsWith("Start")
&&
e.SearchPattern.EndsWith("End"));
的完整列表,請參閱Enumerable class methods
1
這聽起來像你想的事情的清單從「免費樣品」開始,然後以「逮捕我」結束。假設這就是你想要的,你會做這樣的事情。
// Assumes myStuff is where all of your data is right now
var startsWith = myStuff.Where(x => x.MyString.StartsWith("free sample"));
var endsWith = myStuff.Where(x => x.MyString.EndsWith("arrest me"));
// Now you can do whatever comparisons between the two lists you need
當然,如果你只是想他們都以「免費樣品」開始和結束「抓我」你可以做到這一點
var hasBoth = myStuff.Where(x => x.MyString.StartsWith("free sample") && x.MyString.EndsWith("arrest me"))
0
你提到的功能只是字符串功能。 s.StartsWith("abc")
和s.EndsWith("xyz")
。在LINQ查詢中,您可以在where子句中使用它們。
var startIndexes = phrases
.Where(p => p.StartsWith("free sample")
.Select((p, i) => i);
var endIndexes = phrases
.Where(p => p.EndsWith("arrest me")
.Select((p, i) => i);
這兩個查詢返回開始短語的指標,分別具有一定的字符串結束。我使用接受索引作爲第二個參數的選擇的重載。
相關問題
- 1. LINQ中'1代表什麼?
- 2. 在代碼中填充LINQ表?
- 3. 如何使用linq將代表聚合到新代表中
- 4. 選擇與linq的匿名代表
- 5. LINQ to XML後代中的後代
- 6. Linq表達式。幫助mimize代碼
- 7. 在Linq feed的後臺代碼中創建數據透視表
- 8. c#linq從表中獲取值的代碼不起作用
- 9. LINQ中的展平列表
- 10. nHibernate中的Linq表達式
- 11. C代表中的代表#
- 12. 試圖找到表達LINQ表達式的替代方法
- 13. Linq列表中的字符串列表
- 14. Linq查詢 - 列表中的列表
- 15. LINQ中的一組類列表中的
- 16. 優化的Linq代碼
- 17. 此代碼的LINQ方法
- 18. LINQ代碼設計
- 19. LINQ委託代序
- 20. Linq to xml後代
- 21. LINQ 3個表 - 新LINQ
- 22. LINQ的從考慮下面的代碼嵌套列表
- 23. 下面的代碼的LINQ/LAMBDA表達式
- 24. Linq從列表中選擇
- 25. VB .NET的LINQ過濾表中的行
- 26. 刪除Linq到SQL的表中的行
- 27. 應該用哪種方法代替LINQ to XML中的後代()?
- 28. 從LINQ和LINQ到SQL的外鍵表中獲取
- 29. Linq - 使用linq在列表中獲取不可用的ID
- 30. 替代在Linq查詢中使用String.Join
你可以發表一些代碼,使其更清晰你有什麼? – NibblyPig 2012-04-24 13:46:18
@ChenBiran: 不客氣。此外,由於您是StackOverflow的新用戶,因此我想告訴您,您可以通過查看答案旁邊的勾號來獲得最佳答案並接受最能幫助您的答案。在這個網站上upvote或接受的答案算作「謝謝」。 – 2012-05-04 18:19:38