如果参数fruit
(我知道它是一个输入参数),如果条件对于谓词为真,则我很困惑。如下面的代码表示:如果Predicate返回true,则返回Lambda表达式
List<string> fruits = new List<string> {
"apple",
"passionfruit",
"banana",
"mango",
"orange",
"blueberry",
"grape",
"strawberry"
};
IEnumerable<string> query = fruits.Where(fruit => fruit.Length < 8);
// query contains: {apple,banana,mango,orange,grape}
IEnumerable<string> query2 = query.Where(fruit => fruits.Contains("apple"));
foreach (string fruity in query2)
{
Console.WriteLine(fruity);
}
// finally returns: {apple,banana,mango,orange,grape}
因此,如果条件为真,则返回输入。
请指导我,如果我错了
是,如果谓词对元素返回true,则该元素将位于由where返回的元素的子集中。它将返回长度小于8的数组中的任何字符串。 –
你期望在第二个查询中只看到苹果吗? – ryadavilli
这只是一个错字...它应该是IEnumerable query2 = query.Where(fruit => fruit.Contains(“apple”));'我猜 –
horgh