如何检查List <Model>中的重复项

蝙蝠蛙

我有一个模型:

public class MyModel
{
    public int GridX { get; set; }
    public int GridY { get; set; }
}

用户将从excel工作表中上传一个列表,该列表如下所示:

GridX       GridY
  1           3
  1           2
  1           4
  2           2
  2           1
  2           1

我当前上传excel工作表,并遍历各行以创建一个列表,然后将其保存到数据库。

我必须能够捕获重复的行,例如具有相同坐标(2,1)的最后两行。

我知道对于一个列表,我可以执行以下操作:

  var hasDuplicates = MyList.GroupBy(x => x.num).Any(x => x.Count() > 1);

如果列表中有重复项,则hasDuplicate为true。如果有需要比较的配对,我不确定该怎么做。每组坐标应为一个组,但不确定如何对一组坐标进行分组。我可以在sql中完成此操作,但是可惜我必须先将其捕获到db中。

鼓舞

方法如下-您可以通过在中创建匿名类型对这两个属性进行分组GroupBy

MyList.GroupBy(x => new { GridX = x.GridX, GridY = x.GridY }).Any(x => x.Count() > 1);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章