첫째로, 나는 내가 IndexOf(...) != -1
을 사용하고
private bool UserNameContains(<your user name> user, string searchFor)
{
return user.FirstName.IndexOf(searchFor, StringComparision.OrdinalIgnoreCase) != -1 ||
user.LastName.IndexOf(searchFor, StringComparision.OrdinalIgnoreCase) != -1;
}
주의 사항 : Linq에를 사용할 때 코드가 훨씬 더 쉽게 읽을 수 있도록하기 때문에 별도의 방법으로 condition statement
을 유타. Contains
은 내부적으로 동일한 방법을 사용하지만 StringComparision.Ordinal
인수를 사용하기 때문입니다. 케이스에 대해 신경 쓰지 않는다고 가정하면 IndexOf(..., StringComparision.OrdinalIgnoreCase)
을 사용하는 것이 훨씬 더 좋습니다. 이렇게하면 searchFor
에 위쪽 문자가 포함 된 경우 문자열 문자를 낮추지 않고 버그를 방지 할 수 있습니다.
userInfoList.AddRange(allUserList.Where(user => this.UserNameContains(user, searchFor));
또는 userInfoList
새로운 빈리스트 인 경우, 당신은 변수 선언에 전체 논리를 이동할 수 있습니다 :
그런 다음 당신이 할 필요가있다
var userInfoList = allUserList.Where(user => this.UserNameContains(user, searchFor).ToList();
참고 추가한다 using System.Linq;
지시문을 사용하여 Linq 확장을 사용할 수 있습니다.
ToLower는 함수이므로 중괄호가 필요합니다. – WebFreak001
@ WebFreak001 righto – Jonesopolis