国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#中的Linq Intersect與Except方法使用實例

2020-01-24 01:42:55
字體:
來源:轉載
供稿:網友

實例描述

現有某班學生的兩份成績,兩份成績中存在一些不一致的記錄。需借助于編程方法找出這些不一致的記錄。

實例代碼

using System;using System.Collections.Generic;using System.Linq;namespace IntersectAndExceptExp{  class Program  {    static void Main(string[] args)    {      List<Student> studentList1 = newList<Student>() {        new Student(){StudentId=1,Score=64},        new Student(){StudentId=2,Score=85},        new Student(){StudentId=3,Score=78},        new Student(){StudentId=4,Score=94},        new Student(){StudentId=5,Score=90}      };      List<Student> studentList2 = newList<Student>() {        new Student(){StudentId=1,Score=64},        new Student(){StudentId=2,Score=80},        new Student(){StudentId=3,Score=78},        new Student(){StudentId=4,Score=94},        new Student(){StudentId=5,Score=95}      };      var both = studentList1.Intersect(studentList2,new StudentComparer());      var diff1 =studentList1.Except(both, new StudentComparer());      var diff2 =studentList2.Except(both, new StudentComparer());      Console.WriteLine("-------------下面是兩份成績中不同的記錄--------------");      Console.WriteLine("-------------第一份學生成績--------------");      foreach (var s in diff1)      {        Console.WriteLine("StudentId:"+s.StudentId+";Score:"+s.Score);      }      Console.WriteLine("-------------第一份學生成績--------------");      foreach (var s in diff2)      {        Console.WriteLine("StudentId:"+ s.StudentId + ";Score:" + s.Score);      }    }  }  public class Student  {    public int StudentId { get; set; }    public int Score { get; set; }  }  public class StudentComparer : IEqualityComparer<Student>  {    public bool Equals(Student x, Studenty)    {      if (Object.ReferenceEquals(x, y)) returntrue;      return x != null && y != null&& x.StudentId == y.StudentId && x.Score == y.Score;    }    public int GetHashCode(Student obj)    {      int hashStudentId =obj.StudentId.GetHashCode();      int hashScore =obj.Score.GetHashCode();      return hashStudentId ^ hashScore;    }  }}

代碼說明

先使用Intersect方法生成兩份記錄的交集,該方法會使用傳入的比較器對值進行比較決定記錄是否相同?;谇安缴傻慕患?,再使用Except方法找出兩份記錄中不一致的記錄,該方法同樣使用傳入的比較器對值進行比較決定記錄是否相同。

執行結果

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 哈尔滨市| 辉南县| 眉山市| 高淳县| 县级市| 天台县| 巨鹿县| 嵩明县| 南华县| 茂名市| 延寿县| 犍为县| 诏安县| 柳河县| 永登县| 滕州市| 辽中县| 玉树县| 中阳县| 鄂尔多斯市| 潞西市| 嫩江县| 特克斯县| 工布江达县| 广宗县| 延寿县| 荥经县| 射阳县| 南川市| 奇台县| 合川市| 宁安市| 珠海市| 文安县| 佛学| 从江县| 淮阳县| 和顺县| 克山县| 旅游| 山东|