要根据两个字段进行去重,你可以使用LINQ进行操作。假设你有一个包含对象的列表,每个对象都有两个字段:Field1和Field2。以下是如何使用LINQ在.NET Core中根据这两个字段进行去重的示例代码:
using System;
using System.Collections.Generic;
using System.Linq;
public class MyObject
{
public string Field1 { get; set; }
public string Field2 { get; set; }
}
public class Program
{
public static void Main()
{
List<MyObject> objects = new List<MyObject>
{
new MyObject { Field1 = "A", Field2 = "X" },
new MyObject { Field1 = "B", Field2 = "Y" },
new MyObject { Field1 = "A", Field2 = "X" },
new MyObject { Field1 = "C", Field2 = "Z" }
};
// 使用GroupBy根据Field1和Field2进行分组,并选择每组的第一个对象
List<MyObject> distinctObjects = objects.GroupBy(obj => new { obj.Field1, obj.Field2 })
.Select(group => group.First())
.ToList();
// 打印去重后的对象列表
foreach (MyObject obj in distinctObjects)
{
Console.WriteLine($"Field1: {obj.Field1}, Field2: {obj.Field2}");
}
}
}
这里使用了GroupBy
方法来根据Field1
和Field2
进行分组,然后通过Select
选择每个分组的第一个对象,最后使用ToList
将结果转换为列表。这样就能够根据这两个字段进行去重操作了。