C# 在C中使用Linq检查自定义类型数组中的重复项#
大家好 例如,我有一个自定义类型:C# 在C中使用Linq检查自定义类型数组中的重复项#,c#,linq,C#,Linq,大家好 例如,我有一个自定义类型: public struct Group { public string GroupName; public int someInt; } 假设我有一个这样的数组: public Group[] Groups; 我想检查组是否有两个或多个组项具有相同的组名。在伪代码中,它看起来像: if (Groups has two or more Group items with the same name) { // we have a pro
public struct Group {
public string GroupName;
public int someInt;
}
假设我有一个这样的数组:
public Group[] Groups;
我想检查组
是否有两个或多个组
项具有相同的组名
。在伪代码中,它看起来像:
if (Groups has two or more Group items with the same name) {
// we have a problem
}
如果有人帮忙,我会很高兴的。提前谢谢 您可以这样做:
if(Groups.GroupBy(e=>e.GroupName).Count()>1)
{
//...
}
您可以这样做:
if(Groups.GroupBy(e=>e.GroupName).Count()>1)
{
//...
}
我认为可能有更好的解决方案,但是,你可以试试这个
var results = (from p in Groups
group p by p.GroupName into g
select new { GroupName = g.Key, Total = g.Count
}).Where(c=>c.Total>1).ToList();
If(results.Count()>1)
{
}
我认为可能有更好的解决方案,但是,你可以试试这个
var results = (from p in Groups
group p by p.GroupName into g
select new { GroupName = g.Key, Total = g.Count
}).Where(c=>c.Total>1).ToList();
If(results.Count()>1)
{
}
if(Groups.GroupBy(e=>e.GroupName.Count()
if(Groups.GroupBy(e=>e.GroupName.Count()
您应该检查IComparable
界面:或者您应该检查IComparable
界面:或者我真的认为这会起作用,但无论组中有多少组项目具有相同的组名,它始终等于1。请检查您的代码并回复我:(你能在你的问题中添加一组你用来测试的数据吗?@Tayab,信不信由你,但这段代码也应该可以!@Tayab,现在我看到了你标记为正确答案的答案,我意识到你真正需要知道的是,如果有一些重复的组,我想你想检查一下你的组列表中是否有b组私奔group@octavioccl不用担心,可能是我的错,我没有更好地解释。谢谢你的快速回答,你是个好人:)我真的认为这会起作用,但不管有多少组项目具有相同的组名,它总是等于1。请检查你的代码,然后回复我:(你能在你的问题中添加一组你用来测试的数据吗?@Tayab,信不信由你,但这段代码也应该可以!@Tayab,现在我看到了你标记为正确答案的答案,我意识到你真正需要知道的是,如果有一些重复的组,我想你想检查一下你的组列表中是否有b组私奔group@octavioccl别担心,可能是我的错,我没有更好地解释。不管怎样,谢谢你的快速回答,你是个好人:)谢谢你的回答,它奏效了!祝你有一个美好的一天,我爱你:)谢谢你的回答,它奏效了!祝你有一个美好的一天,我爱你:)