Ski*_*tlz 4 .net c# linq compare list
List<Person> PList = new List<Person>();
PList.Add(new Person{ Name = "Bob", email = "Bob.b@blah.org" });
Run Code Online (Sandbox Code Playgroud)
基本上,它保存文件中的重复行
我想弄清楚的是如何删除许多,直到列表中每个人只有一个实例.
我最初的想法是使用for循环来运行并基于比较删除
for (int i = 0; i < List.length; i++)
{
if (PList.position(i).name == PList.position(i++).name)
if (PList.position(i).date is < PList.position(i++).date)
"Then I will delete number 1"
}
Run Code Online (Sandbox Code Playgroud)
但是,我想知道是否有更好或更简单的方法来做到这一点?
试试这个
PList = PList.GroupBy (x => x.Name).SelectMany (x=>x.OrderBy(y=> y.Date).Take(1))
Run Code Online (Sandbox Code Playgroud)
我还没有执行查询.