使用LINQ检查集合中的唯一值?

JL.*_*JL. 2 linq

我有以下类定义:

public class PriorityItem
{
    public string uniqueID { get; set; }
    public List<DelegationTask> DelegationTasks = new List<DelegationTask>();
    public List<int> Priorities = new List<int>(); 
}
Run Code Online (Sandbox Code Playgroud)

现在让我说我从这个类创建一个列表,如下所示:

List<PriorityItem> pItems = new List<PriorityItem>();
Run Code Online (Sandbox Code Playgroud)

现在我想根据uniqueID属性检查此列表中是否存在项目如何完成?

例如,我将使用PriorityItem的集合填充列表,但前提是Priority项不存在.要确定它是否存在,我需要使用LINQ检查uniqueID的值.

希望这是有道理的.

Col*_*inE 5

如果找到符合特定条件的任何项,则Any linq扩展方法返回true.您可以按如下方式使用它:

string idToSearchFor = "123"
bool exists = pItems.Any(item => item.uniqueId == idToSearchFor);
Run Code Online (Sandbox Code Playgroud)

与上面的代码exists将是真实的,只有当你的列表中包含一个PriorityItemuniqueId"123".