今天在写接口时,需要根据当前传入的集合数据,和上次传入的集合数据是否相同,
做出不同的逻辑处理.
如果直接根据等号进行比较,是比较的内存地址,因为两次传入,有其中一个是new创建的,所以肯定不相等。
可以使用SequenceEqual这个方法,非常实用
Demo:
List<long> nums = new List<long>() {
1,2,30,50,60,5,9,87,6
};
List<long> nums2 = new List<long>() {
1,2,30,50,60,5,9,87,6
};
List<long> nums3 = new List<long>() {
1,2,30,50,60
};
bool flag =nums.SequenceEqual(nums2);
bool temp = nums2.SequenceEqual(nums3);
Console.WriteLine("flag:"+flag + "\ttemp:"+temp);
Result: