C# .NET 2.0에는 방법이 있습니까? 여러 술어를 결합하려면?여러 술어 결합
다음과 같은 코드가 있다고 가정 해 보겠습니다.
Emma
Ethan
Emily
그래서이 꽤 멋진 물건,하지만 난 여러 조건을 사용하여 필터링 할 수 있도록하려는 알고
List<string> names = new List<string>();
names.Add("Jacob");
names.Add("Emma");
names.Add("Michael");
names.Add("Isabella");
names.Add("Ethan");
names.Add("Emily");
List<string> filteredNames = names.FindAll(StartsWithE);
static bool StartsWithE(string s)
{
if (s.StartsWith("E"))
{
return true;
}
else
{
return false;
}
}
이 날 수 있습니다. 위해
List<string> filteredNames = names.FindAll(StartsWithE OR StartsWithI);
이 얻을 :
Emma
Isabella
Ethan
Emily
가 어떻게 이것을 달성 할 수
그래서 나는이 같은 말을 할 수있게하려면? 현재 전체 목록을 두 번 필터링하고 그 결과를 나중에 조합합니다. 하지만 불행히도 이것은 상당히 비효율적이며 더욱 중요한 것은 원래의 정렬 순서를 잃어 버렸기 때문에 내 상황에서는 받아 들일 수 없습니다.
또한 많은 수의 필터/조건자를 반복 할 수 있어야합니다.
다시는 불행하게도 내가 프레임 워크의
덕분에 많은 최신 버전을 사용할 수있는 .NET 2.0 솔루션을해야합니다.
고마워! 완벽하게 작동합니다! – eric
매우 편리합니다. ICollectionView에서 필터에 대한 여러 술어가 필요합니다. – pStan
전체 함수는'return item => predicates.All (술어 => 술어 (항목));' – NibblyPig