gpt4 book ai didi

c# - 如何在 C# 4 中对 T 执行动态 where lambda?

转载 作者:太空宇宙 更新时间:2023-11-03 11:23:47 25 4
gpt4 key购买 nike

如何在此方法中使用 Lambda 表达式作为参数并在 where 子句中使用它?

一直在阅读有关 Func、dynamic 和 Expression 树的内容,但不确定如何执行此操作。

问题是我不知道类型 T 也不知道调用者想要返回什么。我如何在 C# 4.0 中执行此操作?一个让我入门的例子会很棒 - 谢谢。

这是我想要的一个非常简化的例子。

static public List<T> Match(string startfilelocation, ???)
{
var filelist = Directory.GetFiles(startfilelocation, "*.*", SearchOption.AllDirectories);
return filelist.Where(???);
}

谢谢。

最佳答案

指定 List<string>作为返回类型,使用 Func<string, bool>输入参数,然后输入 ToList将结果转化为列表的方法:

static public List<string> Match(string startfilelocation, Func<string, bool> filter) {
var filelist = Directory.GetFiles(startfilelocation, "*.*", SearchOption.AllDirectories);
return filelist.Where(filter).ToList();
}

例子:

List<string> files = Match(folder, s => s.Contains("candy"));

关于c# - 如何在 C# 4 中对 T 执行动态 where lambda?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10137403/

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