作为我试图完成的工作的一个实例,这里有一些法典列出了一份有缩略财产的书籍清单,称为Sentence
。
public class Book {
public string Sentence { get; set; }
}
Book book1 = new Book() { Sentence = "The quick brown fox jumps over the lazy dog" };
Book book2 = new Book() { Sentence = "The quick brown frog jumps over the lazy sloth" };
List<Book> books = new List<Book>();
books.Add(book1);
books.Add(book2);
我想根据一些用户的投入,通过书目清单查询(查询要求比这一例子更加复杂)。
如果用户提供<代码>quick fox“lazy dog”的搜索短语,那么我就回去了一份清单,该清单有1本书作为收集工作的一部分。 如果用户提供<代码>quick fox sloth的检索短语,则不应再作复,因为这三字并非都出现在任何特性中。
<<>Summary
quick fox “lazy dog”
- 1 Result(引文中的词语一起出现,其余词语单独出现)<代码>
> - 1 Result(两字在插图中同时出现) lazy sloth
- 1 Result(两字都出现在插图中)
现行法典:
//Turn the search word into an array of words (includes support for quotes phrases). E.g: quick fox "lazy dog" becomes a list of these values: `quick`, `fox`, `lazy dog`.
var searchWords = Regex.Matches(searchWord, @"(?<match>w+)|""(?<match>[ws]*)""")
.Cast<Match>()
.Select(m => m.Groups["match"].Value)
.ToList();
var query = from b in books
where (!string.IsNullOrEmpty(b.Sentence) && searchWords.Any(b.Sentence.Contains))
select b;
个案工作 2. 我现在看一看一看一看,如果一看一看一看,那么我就认为该项目。