在 C# 中向通用列表的 FindAll 添加参数

2023-12-19

我有一个要通过整数参数过滤的对象列表

List<testObject> objectList = new List<testObject>();

// populate objectList with testObjects

objectList.FindAll(GroupLevel0);

private static bool GroupLevel0(testObject item)
{ return item._groupLevel == 0; }

private class testObject
{
     public string _FieldSQL = null;
     public int _groupLevel;
}

我想做的是让 GroupLevel0 接受一个整数作为参数,而不是硬编码为 0。我正在 .NET 2.0 中工作,所以 lambda 表达式是不行的。是否可以将参数传递到谓词中?

谢谢你,


如果您坚持使用 C# 2.0,请使用匿名方法 - 只是稍微笨重的 lambda 表达式(忽略表达式树):

List<testObject> objectList = new List<testObject>();
int desiredGroupLevel = 10;

objectList.FindAll(delegate (testObject item)
{
    return item._groupLevel == desiredGroupLevel;
});

或者您仍然可以使用方法调用来开始:

List<testObject> objectList = new List<testObject>();
int desiredGroupLevel = 10;

objectList.FindAll(CheckGroupLevel(desiredGroupLevel));

...

public Predicate<testItem> CheckGroupLevel(int level)
{
    return delegate (testItem item)
    {
        return item._groupLevel == level;
    };
}

如果您使用的是 Visual Studio 2008,但是瞄准但是,在 .NET 2.0 中,您仍然可以使用 lambda 表达式。这只是一个编译器技巧,不需要框架支持(再次忽略表达式树)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 C# 中向通用列表的 FindAll 添加参数 的相关文章

  • asp:repeater 折叠表行 - 已更新

    我想知道是否有人对我的问题有创造性的解决方案 我有一个从我的数据库填充的转发器 如下所示
  • Qt 和 Sqlite 示例

    我正在寻找一些使用 Qt 的示例代码 它是带有 Sqlite 驱动程序的 SQL 模块 我需要示例的主要原因是我之前有 Qt 数据库接口的经验 并且 Sqlite 在字段类型方面有一些奇怪的行为 类型是按字段存储的 而不是按列存储的 The
  • 使用遗留代码(使用reinterpret_cast)真的是一种很好的技术吗?

    下面的代码来自一篇关于C 面试问题的帖子here https www toptal com c plus plus interview questions 我从来不知道这种技术 尽管它声称是一种很好的技术 我的问题是 什么情况下需要使用它
  • 集群():是否可以仅检查文件是否已锁定,而不实际获取锁定(如果没有)?

    我的用例如下 我有一个程序 它强制在任何给定时间只能运行它的一个实例 因此在启动时它总是尝试在标准位置获取锁定文件 并在该文件终止时终止已经被锁定 这一切都工作正常 但现在我想用一个新的命令行选项来增强程序 当指定该选项时 将导致程序只打印
  • 全局变量不好

    好吧 读完这篇文章和一些示例后 我仍然不清楚全局变量的含义 那么你的类中的私有变量是全局的吗 http www c2 com cgi wiki GlobalVariablesAreBad http www c2 com cgi wiki G
  • 从服务器下载图像(cUrl,但接受建议)C++

    我试图通过从服务器 网站 下载图像来设置旋转背景图像 并尝试使用curl 来执行此操作 但是在执行此操作方面取得了0 成功 我的代码的 缩短的 版本如下 我没有收到错误 但是 如何 临时 保存该图像以将其显示为背景 是否有图像 类型变量 或
  • 处理器关联组 C#

    我使用的是 72 核的 Windows Server 2016 我看到有两组处理器 我的 net 应用程序将使用一个或其他组 我需要能够强制我的应用程序使用我选择的组 我看到下面的代码示例 但我无法使其工作 我可能传递了错误的变量 我希望应
  • 没有配置身份验证处理程序来处理该方案

    这是一个非常烦人的问题 我在我的 asp net core 项目上设置 cookie 身份验证 有时会出现此错误 有时不会 没有图案 它只是开始抛出错误 然后突然停止 然后再次开始 例外情况是 InvalidOperationExcepti
  • 为类型列表创建别名并将其作为模板参数传递

    我正在使用可变参数模板来实现访问者模式 template
  • 字符串/分段错误

    Program to calculate trip and plan flights define TRIP 6 define NAMEMAX 40 define DEST 1 include
  • 如何在 Windows 上的 GCC 中链接 CS50 C 库

    我是 编程新手 一直在尝试使用以下命令编译我的代码MinGW https en wikipedia org wiki MinGW GCC 但我尝试包括CS50 https en wikipedia org wiki CS50 cs50 c
  • 我应该使用字节还是int?

    我记得曾在某处读到 即使您只需要字节 使用 Int32 更好 就性能而言 它 据说 仅适用于您不关心存储的情况 这是有效的吗 例如 我需要一个保存一周中某一天的变量 我是吗 int dayOfWeek or byte dayOfWeek E
  • Qt 多重继承和信号

    由于 QObject 我在 QT 中遇到了有关多重继承的问题 我知道很多人也有同样的问题 但我不知道该如何解决 class NavigatableItem public QObject Q OBJECT signals void desel
  • 如何在C++中列出Python模块的所有函数名称?

    我有一个 C 程序 我想导入一个 Python 模块并列出该模块中的所有函数名称 我该怎么做 我使用以下代码从模块中获取字典 PyDictObject pDict PyDictObject PyModule GetDict pModule
  • 如何处理文件名中的空格

    我正在尝试迭代本地目录中的文件 foreach string name in Directory GetFileSystemEntries path FileAttrtibutes att File GetAttributes name 文
  • 以编程方式阻止 Vista 桌面搜索 (WORDS) 对映射网络驱动器上的 pst 文件建立索引

    经过几天的多次尝试 我没有找到任何 100 的解决方案来解决这个问题 我的搜寻和调查范围 直接访问注册表 HKLM SOFTWARE Microsoft Windows Search CrawlScopeManager Windows Sy
  • asio::this_coro::executor 的实现是什么

    在协程函数中 我们可以添加auto ex co await asio this coro executor 获取该协程的执行者 但当我想了解它的定义时 我发现了这个 Awaitable type that returns the execu
  • C 中的等效 plpgsql 触发器

    我有一个 PostgreSQL 9 0 服务器 并且在某些表上使用继承 因此我必须通过如下触发器模拟外键 CREATE OR REPLACE FUNCTION othertable before update trigger RETURNS
  • Web 和 winforms 的 .Net 身份验证

    我有一个为客户端构建的 ASP NET Web 应用程序 它使用默认的 ASP NET 表单身份验证 他们现在请求一个能够 与 Web 应用程序一起工作的桌面 WinForms 应用程序 我已经创建了 Web 服务来访问他们想要从 Web
  • 获取线段上最接近另一个点的点[关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 我想找到线段AB上最接近另一个点P的点 我的想法是 Get a1 and b1由直线公式y1 a1x b1 使用 A 点

随机推荐

  • 如何检查我是否可以对给定类型的值求和

    在我们的应用程序中 我们有许多 AggregatorTypes 从 SQL Server 复制的想法 即 MinAggregator MaxAggregator CountAggregator 和 SumAggregator 现在我应该检查
  • Symfony 遗留会话问题,大型项目的移植缓慢

    好的 我们有这个庞大的裸机 php 项目 我们想慢慢地将其转换为 Symfony 3 这是一个不断变化和更新的项目 因此我们需要保持透明 以确保不会干扰正在使用它的人 他们根本不应该注意到差异 所以我们决定尝试的解决方案是 将整个应用程序粘
  • 当通过 JS 更改值时,jQuery 选择不会触发 onchange 事件

    JSFiddle http jsfiddle net ult combo y6BCP 我已经设置了一个select with 3 options 1 个空白 在小提琴中 当我从foo to bar手动地 将change监听器正常触发 现在如
  • iOS 4 真的支持 ARC 吗? iOS 4.2 SDK 在链接时缺少与 ARC 相关的符号

    自从 ARC 首次宣布它是一个编译时的东西并且向后兼容 iOS 4 以来 我已经阅读和听说过它 我已经使用 Xcode 4 2 的自动重构成功地将我的项目重构为 ARC 并且当针对iOS 5 0 SDK 运行良好 但是 如果我尝试针对 iO
  • 你能在不调用 setState 的情况下强制 React 组件重新渲染吗?

    我有一个外部 组件的 可观察对象 我想监听它的更改 当对象更新时 它会发出更改事件 然后我想在检测到任何更改时重新渲染组件 拥有顶级的React render这是可能的 但在组件内它不起作用 这是有道理的 因为render方法只返回一个对象
  • 使用 ASP.NET Core 设置 azure-pipelines.yml“在存储库中找不到 Web 项目”

    我需要帮助来设置我的 azure pipelines yml 构建文件 因为我在任何地方都找不到任何好的教程 示例或其他类型的帮助 我遵循微软的这个教程https learn microsoft com en us azure devops
  • 合并和更新主键

    我查了一下 但没有找到解决这个看似简单的问题的方法 我有许多结构相同的表 想合并它们 唯一的问题是它们都有一个 id 字段作为主键 主键中会有很多重复项 id 最终是什么并不重要 如何合并所有表以免丢失任何数据 创建一个AUTO INCRE
  • Django注释来自另一个模型的字段值

    我想用另一个历史模型中的值来注释 MyModel 查询集 我的模型关系如下 class Stage models Model name models CharField class History models Model mymodel
  • 在编码的 ui 测试中传递命令行参数

    是否可以在编码的 ui 测试中传递命令行参数 在普通的 C 程序中 我们只需将参数与 exe 文件一起传递 例如 命令提示符中的 filename exe 2 7 但是这样的事情可以在编码的 ui 测试中完成吗 Thanks 不 你可以这样
  • ViewPager 中的可滚动 TextView

    我有一个TextView里面一个Fragment in a ViewPager我想把文字放在TextView可滚动 由于某种原因 这不起作用并且文本视图不滚动 这是我尝试过的 片段中的代码 public View onCreateView
  • PKPaymentAuthorizationViewController 不为零但未显示

    我试图显示一个 PKPaymentAuthorizationViewController 它不为零但没有显示 我以前工作过 但现在不再工作了 权利和商家 ID 看起来不错 这是我的初始化代码 没有无用的代码 PKPaymentRequest
  • 更改键盘快捷键以注释 Spyder 中的行[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我最近开始使用 Spyder IDE Python 3 6 但在习惯键盘快捷键方面遇到了一些困难 由于我使用 azerty 键盘 这很复杂
  • 使用 Kendo UI 数据源的授权标头拦截器

    我正在使用 Web api 并限制 Web api 通过令牌进行身份验证 因此为了填充数据源 我在数据源中使用请求标头 var abcDatasource new kendo data DataSource transport read u
  • .animate() - 旧版 jquery 版本 (Drupal) 冲突的队列模拟

    我正在寻找一个解决方案来推出 jquery 版本 Drupal 本身就包含该版本 它是旧版本 实际上没有任何问题 但有一个 D 我使用队列为 false 的 animate 函数 并且没有此属性 因为此属性在 jquery 1 7 中添加到
  • NSJSONSerialization 拆箱 NSNumber?

    我在用着NSJSONSerialization转动一个JSON将文档转换为核心基础类型 我的领域里有一个JSON这是一个 数字 有时是整数 有时是浮点数 现在 问题是何时NSJSONSerialization变成我的JSON进入一个NSDi
  • Git:存储但不拉取较少的文件

    我最近开始使用 LESS 当我对 Jenkins 和 Grunt 等自动化构建器进行一些研究时 似乎一个常见的建议是不要将 LESS 文件存储在存储库上 或者不要将它们放在实时服务器上 只是编译的 CSS 所以我希望能得到一些关于这方面的建
  • 使用 Javascript 更改页面

    我构建了一个 Phonegap 应用程序 我有 7 8 个页面 我需要使用 Javascript 在它们之间导航 我尝试过使用window open and window location但那些不起作用 如何使用 Javascript 更改
  • Intellisense 将 .c 文件视为 .cpp

    我正在使用 VS2010 进行 C 项目 我不断收到 Intellisense 错误IntelliSense a value of type void cannot be assigned to an entity of type Blah
  • 在 Eclipse“运行方式 -> Android 应用程序”构建中包含 Maven 依赖项

    我使用eclipse开发一个Android应用程序 Android 开发工具 ADT 插件 http developer android com guide developing eclipse adt html和maven android
  • 在 C# 中向通用列表的 FindAll 添加参数

    我有一个要通过整数参数过滤的对象列表 List