簡體   English   中英

asp.net搜索字符串

[英]asp.net searching for a string

我有一些來自網頁的數據,我需要根據返回的數據進行過濾。 我有30個左右的預定義關鍵字。

匹配它們的最有效方法是什么? 因為我可以輸入約2000條記錄,所以我認為通過列表/數組/開關盒搜索每條記錄不是太有效了嗎?

除了list / array / switch-case,我唯一想到的就是Linq。

List<string> found = (from str in listOfStringsToSearch 
                     where listOfKeywords.Any(keyword => str.Contains(keyword)) 
                     select str).ToList<string>();

如果您只想知道哪些搜索詞具有匹配的字符串,則可以使用Enumerable.Intersect

var both = records.Intersect(searchTerms);

它被推遲執行,因此不會創建新的集合,並且直到您以某種方式使用它(fe ToListforeachstring.Joinstring.Join

它在內部使用Set ,因此非常有效。

以下是有關LINQ中的集合操作的更多信息:

http://msdn.microsoft.com/en-us/library/bb546153.aspx

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM