Linq 等式运算符:SequenceEqual
检查元素的数量,每个元素的值及两个集合中元素的顺序是否相等,3个方面都相等则为true,否则为false
IList<string> strList1 = new List<string>(){"One", "Two", "Three", "Four", "Three"};IList<string> strList2 = new List<string>(){"One", "Two", "Three", "Four", "Three"};bool isEqual = strList1.SequenceEqual(strList2); // returns true IList<string> strList1 = new List<string>(){"One", "Two", "Three", "Four", "Three"};IList<string> strList2 = new List<string>(){ "Two", "One", "Three", "Four", "Three"};bool isEqual = strList1.SequenceEqual(strList2); // returns false//如果是引用类型,则比较的是引用 Student std = new Student() { StudentID = 1, StudentName = "Bill" };IList<Student> studentList1 = new List<Student>(){ std };IList<Student> studentList2 = new List<Student>(){ std };bool isEqual = studentList1.SequenceEqual(studentList2); // returns true Student std1 = new Student() { StudentID = 1, StudentName = "Bill" }; Student std2 = new Student() { StudentID = 1, StudentName = "Bill" };IList<Student> studentList3 = new List<Student>(){ std1};IList<Student> studentList4 = new List<Student>(){ std2 };isEqual = studentList3.SequenceEqual(studentList4);// returns false //在上面的示例中,studentList1和studentList2包含相同的学生对象std。 所以studentList1.SequenceEqual(studentList2)返回true。 但是,stdList1和stdList2包含两个独立的学生对象std1和std2。 //所以现在,stdList1.SequenceEqual(stdList2)将返回false.//要比较复杂类型的两个集合的值,您需要实现IEqualityComperar <T>接口,如下所示class StudentComparer : IEqualityComparer<Student> {public bool Equals(Student x, Student y){if (x.StudentID == y.StudentID && x.StudentName.ToLower() == y.StudentName.ToLower())return true;return false;}public int GetHashCode(Student obj){return obj.GetHashCode();} }// following returns true bool isEqual = studentList1.SequenceEqual(studentList2, new StudentComparer());
转载于:https://www.cnblogs.com/refuge/p/8151216.html
Linq 等式运算符:SequenceEqual相关推荐
- Boost:boost :: mem_fn等式运算符的测试程序
Boost:boost :: mem_fn等式运算符的测试程序 实现功能 C++实现代码 实现功能 boost::bind模块,boost :: mem_fn等式运算符的测试程序 C++实现代码 #i ...
- 《Java SE实战指南》07-05:等式和关系运算符
内容导航: 前言 1.等式运算符 1.1.原始类型 1.2.包装类 1.3.字符串 1.4.数组 2.关系运算符 前言 等式和关系运算符在实际开发中的使用频次非常高.比如登录功能中用户名和密码的运算. ...
- 一步一步学Linq to sql(一):预备知识
从今天起将推出新手讲堂,首先从linq开始详细讲解.一步一步学Linq to sql(一):预备知识 什么是Linq to sql Linq to sql(或者叫DLINQ)是LINQ(.NET语言集 ...
- Linq to sql(一):预备知识(二)
对象初始化器 public class Person { public string username { get; set; } public int age { get; set; } publi ...
- python左移位运算_python 移位运算符只能用于整型吗
匿名用户 1级 2016-12-29 回答 什么是操作符? 简单的回答可以使用表达式4 + 5等于9,在这里4和5被称为操作数,+被称为操符. Python语言支持操作者有以下几种类型. 算术运算符 ...
- 简述LINQ的发展历程
LINQ:最终统治了所有的语言! 让我们看看LINQ如何彻底改变了.NET中访问数据的方式 .NET与其他技术栈的不同之处之一绝对是LINQ,它是Language Integrated Query的首 ...
- LINQ :最终统治了所有的语言!
LINQ:最终统治了所有的语言! 让我们看看LINQ如何彻底改变了.NET中访问数据的方式 .NET与其他技术栈的不同之处之一绝对是LINQ,它是Language Integrated Query的首 ...
- Verilog HDL——运算符
1.1 逻辑运算符 在Verilog HDL语言中有三种逻辑运算符: 1)&&逻辑与: 2)|| 逻辑或: 3)! 逻辑非. "&&"和" ...
- Verilog基础语法--运算符【常用的几种】
概述 主要复习常用的一些运算符 逻辑运算符 逻辑与:&&[双目运算符] 逻辑或:|| [双目运算符] 逻辑非:! [单目运算符] 其中,!的优先级要大于&& 和 || ...
最新文章
- 30幅非常漂亮的微距摄影作品欣赏
- Socket笔记【转】
- ADO.NET之使用SqlConnection链接数据库
- 卸载后以前拍的视频会删除吗_可立拍!苹果自己的视频编辑App是一个被忽视的好工具...
- c语言实现输入输出功能需要调用库函数,C语言学习笔记(二)
- 欢迎关注我的微信公众账号:Linux技巧(微信号:irefactoring),一起学习Linux知识~~~...
- 为 ASP.NET 创建缓存配置对象[转载]
- java 中 class 对象_java中Class对象详解
- 程序员面试金典——18.12最大和子矩阵
- softlockup/hardlockup原理详细介绍
- windows无法完成格式化U盘的几种终极解决办法
- Mysql数据库内对查询结果去重复指令【重点】
- 台式计算机默认关机变注销,win10系统关机变注销的解决方案
- 2009 Q.E.D
- Dynamics 365 自定义图表的颜色
- 牛B学生上课气死老师
- Unity在XR设备中获取手柄的按键信息
- 比赛之前的最后一点点总结
- 【渝粤题库】陕西师范大学111119 统计学作业
- Python守护进程 daemon
热门文章
- [转载].sscanf的用法
- 如何划分155MSDH带宽
- 金山发布《2006年度信息安全报告》
- linux下unzip解压报错“symlink error: File name too long”怎么办?提供解决方案。
- vue常见错误汇总(自看)
- ui培训教程分享:平面设计怎样视觉空间感?
- UI设计工作好找吗?有哪些面试技巧?
- 零基础参加java培训如何学习
- oracle time格式化比较,ORACLE DATE和TIMESTAMP数据类型的比较(二) (转)
- C# 算法系列一基本数据结构