—-
最起码得保证里面的每一项都相同才算相等。
—-
bool sequenceEqual = oldList.SequenceEqual(newList);
—-
假设二个list值都是一样的,怎么应怎么做?高人给个示例啊
—-
取两者差集,看差集是否为0个
List oldList = new List();
List newList = new List();
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”);
newList.Add(“diaoer1”);
newList.Add(“diaoer2”);
newList.Add(“diaoer3”);
newList.Add(“diaoer4”);
比如上边,则要返回false
—-
楼主 你想比较 的是 两个 list里面的值相等 还是 count相等, 还是列相等啊
—-
oldList.Add(“diaoer2“);
oldList.Add(“diaoer5“);
oldList.Add(“diaoer4“);
newList.Add(“diaoer1“);
newList.Add(“diaoer2“);
newList.Add(“diaoer3“);
newList.Add(“diaoer4“);值是否相等,不好意思,没表达清楚
—-
引用 5 楼 dys_198102 的回复:
这个方法不可以取吧,如果里边有不同的,则要返回false的,
oldList.Add(“diaoer1”);
oldList.Add(“diaoer2”);
oldList.Add(“diaoer5”);
oldList.Add(“diaoer4”);
newL……
你是想顺序也要一样是吗?
—-
嗯嗯。。顺序也要一样才行
—- 30分
引用 9 楼 dys_198102 的回复:
嗯嗯。。顺序也要一样才行
private static bool ListEqual(List x, List 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
//不相等
—————————————-
—-
List LAppPerson = new List();
LAppPerson.Add(“in”);
LAppPerson.Add(“bs”);
LAppPerson.Add(“es”);
LAppPerson.Add(“in”);
LAppPerson=LAppPerson.Distinct().ToList();//删除重复项
为什么还是in bs es in,没有删除一个in
—-
引用 14 楼 dys_198102 的回复:
List LAppPerson = new List();
LAppPerson.Add(“in”);
LAppPerson.Add(“bs”);
LAppPerson.Add(“es”);
LAppPerson.Add(“in”);
LAppPerson=LAppPerson.Distinct().ToList()……
目测应该可以去重的
—-
for
循环
—-
private bool ListEqual(List a, List b)
{
List x = new List(a);
List y = new List(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
{
x.Remove(y[i]);
}
if (x.Count == 0)
{
return true;
}
else
{
return false;
}
}