gpt4 book ai didi

c# - 变量中 Linq 查询的 Lambda 表达式

转载 作者:行者123 更新时间:2023-11-30 13:50:35 31 4
gpt4 key购买 nike

如何定义要在 linq 查询中用作变量的 lambda 表达式?

例如,当根据列表项的不同属性对通用列表进行排序时:

 IList<SampleClass> list = new List<SampleClass>();

// Populate list
...

list.OrderBy(sampleclass => sampleclass.property1);
list.OrderBy(sampleclass => sampleclass.property2);

我想在变量中定义 lambda 表达式 (sampleclass => sampleclass.property1) 并调用:

// ??? define expression in a variable ???
Expression expression = sampleclass => sampleclass.property1;

// Sort list by variable expression
list.OrderBy(expression);

提前致谢托比

最佳答案

您可以使用 Func 之一重载(准确地说是 Func<T, TResult> ):

Func<SampleClass, PropertyType> expr = sampleclass => sampleclass.property1;
list.OrderBy(expr);

PropertyType是存储为 property1 的变量类型在你的SampleClass .例如,如果是 string ,你会使用 Func<SampleClass, string> .

关于c# - 变量中 Linq 查询的 Lambda 表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6120807/

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