说我有一个包含这样的对象的列表:
public class Person
{
private string _name;
private string _id;
private int _age;
public Person
{
}
// Accessors
}
public class ManipulatePerson
{
Person person = new Person();
List<Person> personList = new List<Person>;
// Assign values
private void PopulateList();
{
// Loop
personList.Add(person);
// Check if every Person has a unique ID
}
}
我想检查每个人是否具有唯一的ID。我想根据ID是否唯一返回一个布尔值true / false。我可以用LINQ做到吗?
请注意,您甚至可以直接利用HashSet<>
:
var hs = new HashSet<string>();
bool areAllPeopleUnique = personList.All(x => hs.Add(x.Id));
(这是我通常使用的代码)
它的优点是,在最佳情况下(存在某些重复项)它将在分析所有personList
集合之前停止。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句