private async void Button_Click(object sender, RoutedEventArgs e) { if (DCGalleryAnalyzer.Instance.Model == null) { return; } var search = SearchText.Text; if (search == "검색") { search = ""; } DCGalleryDataQuery query = new DCGalleryDataQuery(); List <string> positive_data = new List <string>(); search.Trim().Split(' ').ToList().ForEach((a) => { if (!a.Contains(":") && !a.StartsWith("/") && !a.StartsWith("?")) { positive_data.Add(a.Trim()); } }); query.Title = positive_data; foreach (var elem in from elem in search.Trim().Split(' ') where elem.Contains(":") where !elem.StartsWith("/") where !elem.StartsWith("?") select elem) { if (elem.StartsWith("nick:")) { if (query.Nickname == null) { query.Nickname = new List <string>() { elem.Substring("nick:".Length) } } } ;
private List <DCInsidePageArticle> search_internal(DCGalleryDataQuery query, int starts, int ends) { var result = new List <DCInsidePageArticle>(); for (int i = starts; i < ends; i++) { var article = DCGalleryAnalyzer.Instance.Articles[i]; if (query.Type != null) { if (article.classify == null) { continue; } else if (article.classify != query.Type[0]) { continue; } } if (query.Nickname != null) { if (article.nick == null) { continue; } else if (article.nick != query.Nickname[0]) { continue; } } if (query.Id != null) { if (article.uid == null) { continue; } else if (article.uid != query.Id[0]) { continue; } } if (query.Ip != null) { if (article.ip == null) { continue; } else if (article.ip != query.Ip[0]) { continue; } } if (query.Title != null) { bool[] check = new bool[query.Title.Count]; IntersectCountSplit(article.title.Split(' '), query.Title, ref check); if (!check.All((x => x))) { continue; } } result.Add(article); } return(result); }