查找对象并从对象中删除重复项

时间:2020-02-26 09:53:20

标签: c# asp.net linq .net-core

我对LINQ非常陌生。我遇到了一种情况,我需要找到与某个对象不同的对象并删除其他对象。请帮忙。 我已经试过了 var xyz = referal.GroupBy(i => i.Select(x => x.identifier).Distinct().Select(g=>g)); 但它不会返回不同的值。提前致谢。 样本对象:

{
    "referral_type": [
      {
        "type": "MOBILE",
        "invitee": [
          {
            "identifier": "12345678",
            "name": "Test2",
            "invited_on": "2020-01-29 12:25:46.0",
            "till": {
              "code": "",
              "name": ""
            }
          },
          {
            "identifier": "98765432",
            "name": "Test1",
            "invited_on": "2020-01-29 13:37:36.0",
            "till": {
              "code": "",
              "name": ""
            }
          },
          {
            "identifier": "12345678",
            "name": "Harry Test",
            "invited_on": "2020-01-29 13:55:32.0",
            "till": {
              "code": "",
              "name": ""
            }
          },
          {
            "identifier": "98765432",
            "name": "Harry Test",
            "invited_on": "2020-01-29 13:55:32.0",
            "till": {
              "code": "",
              "name": ""
            }
          }
        ]
      }
    ]

}

所以我要检查唯一标识符,并采用其他值的第一个不敏感的符号

{
        "referral_type": [
          {
            "type": "MOBILE",
            "invitee": [
              {
                "identifier": "12345678",
                "name": "Test2",
                "invited_on": "2020-01-29 12:25:46.0",
                "till": {
                  "code": "",
                  "name": ""
                }
              },
              {
                "identifier": "98765432",
                "name": "Test1",
                "invited_on": "2020-01-29 13:37:36.0",
                "till": {
                  "code": "",
                  "name": ""
                }
              }
            ]
          }
        ]
}

1 个答案:

答案 0 :(得分:0)

您需要实现IEquatable<T>接口类“ invitee”,因为Dinstinct使用它来比较对象。通过这种方式,我认为您正在比较内存引用。