在C#中,IEnumerable
是一个接口,用于表示一个可迭代的集合。它允许我们遍历集合中的元素,而不需要关心底层的实现方式。IEnumerable
接口有两个泛型参数:一个是元素类型,另一个是枚举器类型。
比较两个IEnumerable
的内容,可以使用SequenceEqual
方法。SequenceEqual
方法接受一个IEnumerable
作为参数,并返回一个布尔值,表示两个IEnumerable
是否具有相同的元素序列。
以下是一个示例代码,演示如何比较两个IEnumerable
的内容:
using System;
using System.Collections.Generic;
using System.Linq;
class Program
{
static void Main(string[] args)
{
IEnumerable<int> enumerable1 = new List<int> { 1, 2, 3, 4, 5 };
IEnumerable<int> enumerable2 = new List<int> { 1, 2, 3, 4, 5 };
IEnumerable<int> enumerable3 = new List<int> { 1, 2, 3, 4, 6 };
bool areEqual = enumerable1.SequenceEqual(enumerable2);
Console.WriteLine("Are enumerable1 and enumerable2 equal? " + areEqual);
areEqual = enumerable1.SequenceEqual(enumerable3);
Console.WriteLine("Are enumerable1 and enumerable3 equal? " + areEqual);
}
}
输出:
Are enumerable1 and enumerable2 equal? True
Are enumerable1 and enumerable3 equal? False
在这个示例中,我们创建了三个IEnumerable
实例,并使用SequenceEqual
方法比较它们的内容。第一个和第二个IEnumerable
具有相同的元素序列,因此返回true
。第一个和第三个IEnumerable
具有不同的元素序列,因此返回false
。
领取专属 10元无门槛券
手把手带您无忧上云