当前位置: 首页 > news >正文

广水网站定制淘宝可以在哪些网站上面打做推广

广水网站定制,淘宝可以在哪些网站上面打做推广,网站建设公司简介模板下载,万网域名注册流程问题引入: Teacher实体的唯一标识符是Name和Classes字段(或者说这两个字段唯一确定一条数据),如何对两个实体列表做交集、差集运算呢?(并集直接调用AddRange方法即可) 一、重写方法实现 1.原…

问题引入: 

Teacher实体的唯一标识符是Name和Classes字段(或者说这两个字段唯一确定一条数据),如何对两个实体列表做交集、差集运算呢?(并集直接调用AddRange方法即可)

一、重写方法实现

1.原理

        重写 Equals() GetHashCode() 方法,使用Intersect() Except() 方法在比较时就会基于这些字段来判断对象是否相等

2.快速生成代码

3.代码

public class Teacher
{public int Id { get; set; }public string Name { get; set; }public string Classes { get; set; }public override bool Equals(object obj){return obj is Teacher teacher &&Name == teacher.Name &&Classes == teacher.Classes;}public override int GetHashCode(){return HashCode.Combine(Name, Classes);}
}class Program
{static void Main(){// 创建两个示例列表List<Teacher> listA = new List<Teacher>{new Teacher { Id = 1, Name = "Alice", Classes = "Math" },new Teacher { Id = 2, Name = "Bob", Classes = "Science" },new Teacher { Id = 3, Name = "Charlie", Classes = "English" }};List<Teacher> listB = new List<Teacher>{new Teacher { Id = 2, Name = "Bob", Classes = "Science" },new Teacher { Id = 3, Name = "Charlie", Classes = "English" },new Teacher { Id = 4, Name = "David", Classes = "History" }};// 求交集var intersection = listA.Intersect(listB).ToList();// 求差集 A - Bvar difference = listA.Except(listB).ToList();// 输出结果Console.WriteLine("交集:");foreach (var teacher in intersection){Console.WriteLine($"Id: {teacher.Id}, Name: {teacher.Name}, Classes: {teacher.Classes}");}Console.WriteLine("\n差集 A - B:");foreach (var teacher in difference){Console.WriteLine($"Id: {teacher.Id}, Name: {teacher.Name}, Classes: {teacher.Classes}");}}
}

二、嵌套查询实现

1.原理

var intersection = listA.Where(a => listB.Any(b => b.Name == a.Name && b.Classes == a.Classes)).ToList();
var difference = listA.Where(a => !listB.Any(b => b.Name == a.Name && b.Classes == a.Classes)).ToList();

        where-Any相当于A表内连接B表( A ∩ B );

        where-!Any相当于A表左外连接B表并剔除匹配到的数据(A - B)。

2.代码

public class Teacher
{public int Id { get; set; }public string Name { get; set; }public string Classes { get; set; }
}class Program
{static void Main(){// 创建两个示例列表List<Teacher> listA = new List<Teacher>{new Teacher { Id = 1, Name = "Alice", Classes = "Math" },new Teacher { Id = 2, Name = "Bob", Classes = "Science" },new Teacher { Id = 3, Name = "Charlie", Classes = "English" }};List<Teacher> listB = new List<Teacher>{new Teacher { Id = 2, Name = "Bob", Classes = "Science" },new Teacher { Id = 3, Name = "Charlie", Classes = "English" },new Teacher { Id = 4, Name = "David", Classes = "History" }};// 自定义方法来比较 Name 和 Classesvar intersection = listA.Where(a => listB.Any(b => b.Name == a.Name && b.Classes == a.Classes)).ToList();var difference = listA.Where(a => !listB.Any(b => b.Name == a.Name && b.Classes == a.Classes)).ToList();// 输出交集Console.WriteLine("交集:");foreach (var teacher in intersection){Console.WriteLine($"Id: {teacher.Id}, Name: {teacher.Name}, Classes: {teacher.Classes}");}// 输出差集Console.WriteLine("\n差集 A - B:");foreach (var teacher in difference){Console.WriteLine($"Id: {teacher.Id}, Name: {teacher.Name}, Classes: {teacher.Classes}");}}
}

http://www.dtcms.com/a/541356.html

相关文章:

  • elasticSearch之API:Ingest Pipeline Painless Script
  • elasticsearch安装分词器和操作
  • ubuntu系统安装elasticsearch
  • 网站seo分析常用的工具是华建河北住房和城乡建设厅网站
  • 做网站客户尾款老不给怎么办h5登录页面
  • 黑马JAVA+AI基础11-面向对象编程-常用API-String-ArrayList
  • 平东网站建设引流量的网站
  • 解决Docker容器中出现的错误“Pangolin X11: Failed to open X display”
  • Spring DAO与JDBC优化实战
  • asp access网站架设教程网站如何做即时聊天
  • R 语言科研绘图第 80 期 --- 词云图
  • 通信算法之336 :3GPPMixed Mode Turbo Decoder
  • 如何创建自己的网站店面设计装修网
  • 【软考】信息系统项目管理师
  • WEBSTORM前端 —— 第6章:JavaScript进阶 —— 第2节:构造函数数据常用函数
  • 可以做软件的网站有哪些功能吗现在最火的推广平台有哪些
  • 数字化总架构师:在浪潮中锚定方向,成就组织与自我梦想
  • 网站开发主流语言用文字工具在页面中间输入主标题和副
  • Linux - ab压力测试
  • React 实现 i18next 中英文切换集成
  • 智能无人仓库管理系统(含详细码源~基于React+TypeScript+Vite):
  • 开一家网站建设公司怎样机械设备网站源码
  • 成都网站建设 雷wordpress上传代码
  • 家电维修怎么自己做网站设计官网收费标准
  • HTML 事件
  • 南京网站优化建站芜湖中凡网站建设公司
  • Altium Designer22.0.2-----1:1打印PCB对比实体板
  • 绍兴建设局网站首页wordpress阿里云域名转移
  • 淮南商城网站建设地址wordpress 安装平台
  • 【音视频】DASH 和 SRT协议与传统协议对比