如何找出一个列表中是否有任何重复项?

esa*_*sac 2 c# list duplicates

我有一个List,其中MyClass有一个属性'Name'.我想知道列表中是否有重复的MyClass具有相同的名称.

此外,我有一个不同的列表,我想知道与列表A相比是否有任何重复.

G-W*_*Wiz 6

回答第一个问题

我想知道列表中是否有重复的MyClass具有相同的名称.

你可以这样做:

bool hasDuplicates = 
  listA.Count != listA.Select(c => c.Name).Distinct().Count();
Run Code Online (Sandbox Code Playgroud)

回答第二个问题

此外,我有一个不同的列表,我想知道与列表A相比是否有任何重复.

你可以这样做:

bool hasDuplicates = 
  differentList.Select(c => c.Name).Intersect(listA.Select(c => c.Name)).Any();
Run Code Online (Sandbox Code Playgroud)