其实只要明白 LINQ查询操作符的Distinct、Union、Concat、Intersect、Except、Skip、Take、SkipWhile、TakeWhile、Single、SingleOrDefault、Reverse、SelectMany,Aggregate()的使用,一些简单的操作就可以了。 合并两个数组,并去掉重复元素,然后排序(C#)List<int> numbers1 = new List<int>() { 5, 4, 1, 3, 9, 8, 6, 7, 12, 10 };
List<int> numbers2 = new List<int>() { 15, 14, 11, 13, 19, 18, 16, 17, 12, 10 };
var newQue...
IEnumerable<string> result = null;List<string> a = new List<string> ();List<string> b = new List<string>() { "a","b","c","d"};List<string> c = new List<string>() { "c", "d", "e", "f" };//a b取交集result = a.Intersect(b);Console.WriteLine($"a.Intersect(b)");Console.WriteLine($"a,b取交集,a:空,b:\"{string.Join(",", b)}\",结果:{string.Join<string>(",",result)}");Console.WriteLine("===========");//a b取...
最近在專案中,剛好遇到這個需求,需要比對兩個List,進行一些交集等操作,在以前我們可能需要寫很多行來完成這些動作,但現在我們只需要藉由LinQ就能輕鬆達到我們的目的囉! 實際演練※本文使用int為例,若為使用自訂之DataModel,需實作IEquatable<T>介面才能使用1. 取交集 (A和B都有)List A : { 1 , 2 , 3 , 5 , 9 }List B : { 4 , 3 , 9 }1varintersectedList = list1.Intersect(list2);結果 : { 3 , 9 } 判斷A和B是否有交集 ...
想运行本程序,请先做好准备工作,请参考:Linq学习__00__准备工作(1)在HomeController中新建Index6方法如代码1.1
代码1.1 #region 差集Except、并集Union 和 Concat(TSource)/// <summary>/// 访问地址 Home/Index6/// Except、Distinct、Union 和 Concat(TSource/// </summary>/// <returns></returns>public ActionResult Index6(){int[] number1 = { 5, 10, 8, 3, 6, 12 };int[] number2 = { 5, 10, 8, 3 ,10000};//交集Int...
下面以数组为例,展示一些常用LINQ操作。 代码如下:static void Main(string[] args) { int[] a = { 1, 2, 3, 4, 5, 6, 7 }; int[] b = { 4, 5, 6, 7, 8, 9, 10 }; int[] c = { 1, 2, 3, 3, 4, 1, 2, 4, 6, 1, 6, 5 }; // 交集 var fuck = a.Intersect(b); // 并集 var shit = a.Union(b); // a有b没有的 var diff1 = a.Except(b); // b有a没有的 var diff2 = b.Except(a); var max = a.Max(); var min = a.Min(); var avg = a.Av...
1 //Intersect 交集,Except 差集,Union 并集
2 int[] a = { 1, 2, 3, 4, 5 ,6};
3 int[] b = { 2, 4, 5,6, 7, 8, 9 };
4 var jiaoJi = a.Intersect(b).ToList();//交集:2,4,5,6
5 var aChaJi = a.Except(b).ToList();//差集:1,3
6 var bChaJi = b.Except(a).ToList();//差集:7,8,9
7 var bingJi = a.Union(b).ToList();//并集:1,2,3,4,5,6,7,8,9
原文:https://www.cnblogs.com/Cein/p/11465737.html
List<T>以string类型为例,实际应用中可换做其他类型:
1:取交集 // 取交集static void Intersection(){List<string> list1 = new List<string> { "AA", "BB", "CC", "EE", "GG" };List<string> list2 = new List<string> { "BB", "DD", "GG", "MM" };List<string> list3 = new List<string>();list3 = list1.Intersect(list2).ToList();Console.Write(list3.Count); //交集...
//IEnumerable<DataRow> QOld = vDTOld.AsEnumerable().ToList(); ////比较两个数据源的交集 //IEnumerable<DataRow> QJJ = vDTOld.AsEnumerable().Intersect(DTNew.AsEnumerable(), DataRowComparer.Default); ////两个数据源的交集集合 //DataTable DTJJ = QJJ.CopyToDataTable(); ////获取两个数据源的差集 //IEnumerable<Da...
差集:从某集合中删除其与另一个集合中相同的项;其实这个说简单点就是某集合中独有的元素;
下面是我在做项目的时候遇到的问题,就是在右击鼠标键弹出添加删除模态框时,既要新添加新数据,也要删除旧数据,然后进行保存操作,这个时候,后台数据的ID只有页面的传过来的ID,也就是说只有新添加的数据和原来的旧数据(包括进行删除操作的数据),并不能实现页面删除数据操作,这个时候只能通过引用C#集合的差集来实现;代码如下:
...
using System.Linq;
List<string> ListA = new List<string>();
List<string> ListB = new List<string>();
List<string> ListResult = new List<string>(); ListResult = ListA.Distinct().ToList();//去重
ListResult = ListA.Except(ListB).ToList();//差集
ListResult= ListA.Union(ListB).ToList(); //并集
ListResult = ListA.Intersect(ListB).ToList();//交集
来源:http://blog.csdn.net/joyhen/artic...