如何测试两个集合的成对相等性
如何根据 .Equals()
每对元素相等来测试两个集合是否相等?
我发现自己写了一个小函数(如下所示),这似乎有点夸张。我想一定有一种更简单的方法来做到这一点。
bool ListsEqual<T>(IList<T> lhs, IList<T> rhs) where T : IEquatable<T> {
if (lhs == rhs) {
return true;
}
if (lhs.Count == rhs.Count) {
for (int i = 0; i < lhs.Count; i++) {
if (lhs[i].Equals(rhs[i]) == false) {
return false;
}
}
return true;
} else {
return false;
}
}
How do I test whether two collections are equal as according each pair of elements being equal according to .Equals()
?
I find myself writing a little function (given below) which seems over the top. I imagine there must be a far simpler way to do this.
bool ListsEqual<T>(IList<T> lhs, IList<T> rhs) where T : IEquatable<T> {
if (lhs == rhs) {
return true;
}
if (lhs.Count == rhs.Count) {
for (int i = 0; i < lhs.Count; i++) {
if (lhs[i].Equals(rhs[i]) == false) {
return false;
}
}
return true;
} else {
return false;
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我找到了
Enumerable.SequenceEqual
。I found
Enumerable.SequenceEqual
.