gpt4 book ai didi

c# - 这个 LINQ 查询有什么作用?

转载 作者:太空狗 更新时间:2023-10-29 22:55:59 25 4
gpt4 key购买 nike

这里有两个 C# 类...

public class Address  
{
public string Country;
public string City;
}

public class Traveller
{
public string Name;
public List<Address> TravelRoute;
}

...和数据列表(在某处填充)...

List<Traveller> Travellers;

... 然后是这个 LINQ 查询:

var result = from t in Travellers
where t.TravelRoute.Any(a => a.Country == "F")
select t;

foreach (var t in result)
System.Console.WriteLine(t.Name);

我不明白查询:“Any”函数是什么意思,“=>”运算符有什么作用?

有人可以向我解释这段代码中发生了什么吗?谢谢!

最佳答案

它会选择 TravelRoute 包含“F”国家/地区的所有旅行者。

Any 如果列表中的任何对象满足传递给函数的条件,则函数返回 true。从方法签名中,您可以看到它需要一个 Func<>。返回 bool 的委托(delegate).这意味着它采用任何将返回 bool 值的方法,包括提供的 lambda 表达式。

这不同于 Where , 它将根据传入的条件进行过滤。

=> 是一个 lambda expression .在这种特殊情况下,编写 anonymous delegate 是一种快捷方式.

关于c# - 这个 LINQ 查询有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2240041/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com