我对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": ""
}
}
]
}
]
}
答案 0 :(得分:0)
您需要实现IEquatable<T>
接口类“ invitee”,因为Dinstinct使用它来比较对象。通过这种方式,我认为您正在比较内存引用。