ObservableCollection
에서 특정 항목을 찾을 수있는 항목을 검색하려고합니다. 이 경우 내 항목은 '아티스트'입니다. 기본적으로 사용자가 아티스트 이름을 입력 할 수있는 검색 바입니다. ObservableCollection에서 부분 일치 값을 찾으려면 어떻게합니까?
//user type "david guetta"
if (myCollection.Any(x => x.artist== input.Value))
{
//...
}
을 이 문자열을 포함하는 아티스트들?
정규식을 문자열 배열과 함께 사용하려고 했는데도 효과가있었습니다. 그러나 컬렉션과 동일한 작업을 수행 할 수 없습니다.
string[] artists=
{
"Malcom George",
"Willis H. David",
"David Bowie",
"Davidson"
};
string pattern = input.Value;
foreach (string s in artists)
{
if (Regex.IsMatch(s, pattern, RegexOptions.IgnoreCase))
{
// ...
}
}
항목의 일부가 아닌 모든 단어가 제공 될 때 결과를 검색 할 수있을뿐만 아니라 그의 답변에서 Matteo가 제안한 라인에 의해 수행), 앱을 활성화하기 위해 nuget [Fuzzy logic] 패키지 (https://www.nuget.org/packages/DuoVia.FuzzyStrings/) 중 하나를 고려하는 데 관심이있을 수 있습니다 실제 데이터의 근사값 만 제공되는 경우 결과를 반환합니다. – Veverke