假设我有一个集合上的以下表达式:
var people = new List<Person>
{
new Person {FullName = "Some Dude", Age = 45},
new Person {FullName = "Another Dude", Age = 28},
new Person {FullName = "Some Other Dude", Age = 36}
};
var filtered = people.Where(person => person.Age > 28 && person.FullName.StartsWith("So"));
var narrowlyFiltered = people.Where(person => person.Age > 36 && person.FullName.StartsWith("Some"));
有没有一种方法可以比较这两个表达式,并在运行时推断第二个表达式是第一个表达式的子集?不需要枚举或其他任何操作。我只有表达式,想要找出这些表达式是否相交或包含彼此。