List<String> oldList = new ArrayList<String>();
List<String> newList = new ArrayList<String>();
oldList.add(“diaoer1”);
oldList.add(“diaoer2”);
oldList.add(“diaoer3”);
oldList.add(“diaoer4”);
List<String> newList = new ArrayList<String>();
oldList.add(“diaoer1”);
oldList.add(“diaoer2”);
oldList.add(“diaoer3”);
oldList.add(“diaoer4”);
newList.add(“diaoer1”);
newList.add(“diaoer2”);
newList.add(“diaoer3”);
newList.add(“diaoer4”);
如何对比二个list,得出是相等的?如果相等则返回true
—-
最起码得保证里面的每一项都相同才算相等。
—-
bool sequenceEqual = oldList.SequenceEqual(newList);
—-
假设二个list值都是一样的,怎么应怎么做?高人给个示例啊
—-
取两者差集,看差集是否为0个
List<String> oldList = new List<String>(); List<String> newList = new List<String>(); oldList.Add("diaoer1"); oldList.Add("diaoer2"); oldList.Add("diaoer3"); oldList.Add("diaoer4"); newList.Add("diaoer1"); newList.Add("diaoer2"); newList.Add("diaoer3"); newList.Add("diaoer4"); if( oldList.Except(newList).Count()==0) //相等 else //不相等
—-
这个方法不可以取吧,如果里边有不同的,则要返回false的,
oldList.Add(“diaoer1”);
oldList.Add(“diaoer2”);
oldList.Add(“diaoer5”);
oldList.Add(“diaoer4”);
oldList.Add(“diaoer1”);
oldList.Add(“diaoer2”);
oldList.Add(“diaoer5”);
oldList.Add(“diaoer4”);
newList.Add(“diaoer1”);
newList.Add(“diaoer2”);
newList.Add(“diaoer3”);
newList.Add(“diaoer4”);
比如上边,则要返回false
—-
楼主 你想比较 的是 两个 list里面的值相等 还是 count相等, 还是列相等啊
—-
oldList.Add(“diaoer2“);
oldList.Add(“diaoer5“);
oldList.Add(“diaoer4“);
oldList.Add(“diaoer5“);
oldList.Add(“diaoer4“);
newList.Add(“diaoer1“);
newList.Add(“diaoer2“);
newList.Add(“diaoer3“);
newList.Add(“diaoer4“);值是否相等,不好意思,没表达清楚
—-
你是想顺序也要一样是吗?
—-
嗯嗯。。顺序也要一样才行
—- 30分
private static bool ListEqual(List<string> x, List<string> y) { if (x == null && y == null) return true; if (x == null || y == null) return false; if (x.Count() != y.Count()) return false; var count= x.Where((a, i) => a != y[i]).Count(); return count == 0; }
调用:
if( ListEqual(oldList, newList))
//相等
else
//不等
—-
谢谢,老兄,我学习学习,研究你的代码,感谢
—-
有这时间问,一个循环早些好了
—-
if( oldList.Except(newList).Count()==0)
//相等
else
//不相等
//相等
else
//不相等
—————————————-
—-
List<string> LAppPerson = new List<string>();
LAppPerson.Add(“in”);
LAppPerson.Add(“bs”);
LAppPerson.Add(“es”);
LAppPerson.Add(“in”);
LAppPerson.Add(“in”);
LAppPerson.Add(“bs”);
LAppPerson.Add(“es”);
LAppPerson.Add(“in”);
LAppPerson=LAppPerson.Distinct().ToList();//删除重复项
为什么还是in bs es in,没有删除一个in
—-
目测应该可以去重的
—-
for
循环
循环
—-
private bool ListEqual(List<long> a, List<long> b)
{
List<long> x = new List<long>(a);
List<long> y = new List<long>(b);
if (x == null && y == null)
return true;
if (x == null || y == null)
return false;
if (x.Count != y.Count)
return false;
for (int i = 0; i < y.Count; i++)
{
x.Remove(y[i]);
}
if (x.Count == 0)
{
return true;
}
else
{
return false;
}
}
{
List<long> x = new List<long>(a);
List<long> y = new List<long>(b);
if (x == null && y == null)
return true;
if (x == null || y == null)
return false;
if (x.Count != y.Count)
return false;
for (int i = 0; i < y.Count; i++)
{
x.Remove(y[i]);
}
if (x.Count == 0)
{
return true;
}
else
{
return false;
}
}
CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明比较List集合对象是否相等!