首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用C#和Lambda,如何从嵌套List<>的属性中获取不同的列表?

在使用C#和Lambda表达式从嵌套的List<>属性中获取不同的列表时,可以使用SelectMany方法来展开嵌套的列表,然后使用Where方法进行筛选。下面是一个示例代码:

代码语言:txt
复制
class Person
{
    public string Name { get; set; }
    public List<Address> Addresses { get; set; }
}

class Address
{
    public string City { get; set; }
    public List<string> PhoneNumbers { get; set; }
}

List<Person> persons = new List<Person>
{
    new Person
    {
        Name = "John",
        Addresses = new List<Address>
        {
            new Address { City = "New York", PhoneNumbers = new List<string> { "123", "456" } },
            new Address { City = "London", PhoneNumbers = new List<string> { "789" } }
        }
    },
    new Person
    {
        Name = "Alice",
        Addresses = new List<Address>
        {
            new Address { City = "Paris", PhoneNumbers = new List<string> { "321" } }
        }
    }
};

List<string> phoneNumbers = persons
    .SelectMany(p => p.Addresses) // 展开嵌套的Addresses列表
    .SelectMany(a => a.PhoneNumbers) // 展开嵌套的PhoneNumbers列表
    .ToList();

foreach (string phoneNumber in phoneNumbers)
{
    Console.WriteLine(phoneNumber);
}

这个例子中,我们有一个Person类,其中包含了一个嵌套的Addresses属性,而Address类则包含了一个嵌套的PhoneNumbers属性。通过使用SelectMany方法,我们可以将这些嵌套的列表展开,并使用Where方法对它们进行筛选。最后,我们将获取到的所有电话号码存储在一个List<string>中,并进行打印输出。

这里推荐的腾讯云相关产品是:腾讯云函数计算(Serverless Cloud Function)。

腾讯云函数计算是一个事件驱动的无服务器计算服务,可以按需运行代码,并且无需进行服务器配置和管理。它支持多种编程语言,包括C#,并且可以与其他腾讯云服务进行无缝集成。您可以将上述示例代码打包成一个函数,并将其部署到腾讯云函数计算中,从而实现在云端执行。

腾讯云函数计算官方介绍链接地址:https://cloud.tencent.com/product/scf

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券