gpt4 book ai didi

c# - 如何通过 lambda 表达式中的字符串属性名称进行选择查询?

转载 作者:行者123 更新时间:2023-11-30 15:28:03 28 4
gpt4 key购买 nike

我想使用 lambda select 进行查询,

如下所示:

public class Foo{
public int Id {get;set;}
public string Name {get;set;}
public string Surname {get;set;}
}

var list = new List<Foo>();
var temp = list.Select(x=> x("Name"),("Surname"));

属性名称需要作为字符串发送,我不知道如何使用,我给出了它作为示例。可能吗?

编辑:

Foo list :
1 A B
2 C D
3 E F
4 G H

我不知道通用列表的类型,我有属性名称,例如“姓名”、“姓氏”

我想像下面这样:

Result :

A B
C D
E F
G H

最佳答案

以下代码片段显示了 2 个案例。一个过滤列表,另一个创建一个新的匿名对象列表,只有姓名和姓氏。

List<Foo> list = new List<Foo>();

var newList = list.Select(x=> new {
AnyName1 = x.Name,
AnyName2 = x.Surname
});

var filteredList = list.Select(x => x.Name == "FilteredName" && x.Surname == "FilteredSurname");

var filteredListByLinq = from cust in list
where cust.Name == "Name" && cust.Surname == "Surname"
select cust;

var filteredByUsingReflection = list.Select(c => c.GetType().GetProperty("Name").GetValue(c, null));

关于c# - 如何通过 lambda 表达式中的字符串属性名称进行选择查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26459953/

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