在使用C#和Lambda表达式从嵌套的List<>属性中获取不同的列表时,可以使用SelectMany方法来展开嵌套的列表,然后使用Where方法进行筛选。下面是一个示例代码:
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
云+社区沙龙online第5期[架构演进]
腾讯云存储专题直播
腾讯位置服务技术沙龙
云+社区技术沙龙[第10期]
腾讯云GAME-TECH沙龙
云+社区技术沙龙[第27期]
云+社区技术沙龙[第28期]
云+未来峰会
领取专属 10元无门槛券
手把手带您无忧上云