如何测试两个集合的成对相等性

发布于 2024-09-06 03:17:00 字数 533 浏览 1 评论 0原文

如何根据 .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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文