在一List中有四个参数,为了取出List中所有相同var1,对应var2全部相同的数据,并保留一条来进行后续处理。
自己的实现方法有些复杂,仅供参考。
首先按照var1的大小顺序进行排序,方便分类。
创建临时List和目标List:
List<classA> tempList = new List<classA>();
List<classA> targetList = new List<classA>();
创建临时变量比较参数:
string compareVar1 = string.Empty;
string compareVar2 = string.Empty;
string multiVar2Var1 = string.Empty;
循环List
foreach(listdata in listA)
{
if(listdata.var1 != multiVar2Var1)
{
//与待比较的序列号不同则说明上一个序列号已经检查完毕
if(listdata.var1 != compareVar1)
{
compareVar1 = listdata.var1;
compareVar2 = listdata.var2;
targetList.AddRange(tempList);
tempList = new List<classA>();
}
else if(listdata.var2 == compareVar2)
{
tempList.Add(listdata);
}
else
{
multiVar2Var1 = listdata.var1;
tempList = new List<classA>();
}
}
}