我可以针对LINQ函数测试单个对象吗?

本文关键字:单个 对象 测试 函数 LINQ 我可以 | 更新日期: 2023-09-27 18:19:06

我有一个类似于下面的LINQ函数:

public static Func<Contact, bool> activeContactsFilter = c =>
    !c.suspended &&
    !c.expired &&
    (c.status_id == 1 || c.status_id == 7);

当我需要找出IEnumerable中的哪些触点是"活动的"时,这非常有效:

var activeContacts = allContacts.Where(activeContactsFilter);

但是如果我只想检查一个特定的联系人是否"活跃"呢?如何使用相同的函数对单个对象进行测试?

我可以针对LINQ函数测试单个对象吗?

这真的很简单-就像它是一个函数一样调用Func:

bool contactIsActive = activeContactsFilter(contactToCheck);

Func不是特别与LINQ相关,它们只是对LINQ有用。您可以在正确类型的Func中存储方法,并且(如上所述)您可以像调用方法一样调用Func

点击这里查看Func s的更多信息