c#用lambda表达式从列表中选择
本文关键字:列表 选择 表达式 lambda | 更新日期: 2023-09-27 18:02:20
我有一个实体列表,我使用Select从我的实体中获取一些属性。我的实体有一个PrimaryContact
属性,这个有一个LastName
属性。所以如果我像这样使用它可以正常工作
var b = items.Select(s => s[PropertyName]); //Property name is "PrimaryContact" it's fine.
但如果我使用"PrimaryContact.LastName"
,这是不工作
var x = items.Select(s => s[PropertyName]); //Property name is "PrimaryContact.LastName" it's not working
PropertyName
可能是一切:"PrimaryContact。姓"、"PrimaryContact。FirstName"、"PrimaryContact.Address.City"
有人能帮我一下吗
如果您只想要一个项目LastName
,那么
var x = items.Select(s => s["PrimaryContact"]).FirstOrDefault().LastName;
如果你想收集所有的Lastname
项,那么
var x = items.Select(s => s["PrimaryContact"].LastName);
如果你想要所有的属性那么首先选择所有的属性然后遍历它
ar x = items.Select(s => s["PrimaryContact"]);
foreach(var p in x)
{
// P.FirstName
// p.LastName
// p.Address.City
}
试试这个,
var x = items.Select(s => s["PrimaryContact"].LastName);
Select
返回IEnumerable
,所以如果你想在items
中所有的LastName
,那么:
var b = items.Select(s => s["PrimaryContact"].LastName);
否则,如果您只需要其中一个,则在Select
之后使用FirstOrDefault
:
var b = items.Select(s => s["PrimaryContact"]).FirstOrDefault().LastName;