Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在C中使用Linq检查自定义类型数组中的重复项#_C#_Linq - Fatal编程技术网

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别担心,可能是我的错,我没有更好地解释。不管怎样,谢谢你的快速回答,你是个好人:)谢谢你的回答,它奏效了!祝你有一个美好的一天,我爱你:)谢谢你的回答,它奏效了!祝你有一个美好的一天,我爱你:)