首页 > 技术文章 > C# 两个list集合合并成一个,及升序降序

aijiao 2021-12-21 17:18 原文

C# List集合合并

 
在开发过程中.数组和集合的处理是最让我们担心.一般会用for or foreach 来处理一些操作.这里介绍一些常用的集合跟数组的操作函数. 

首先举例2个集合A,B. 

 List<int> listA = new List<int> {1,2,3,5,7,9};

 List<int> listB = new List<int> {13,4,17,29,2};
 

 listA.AddRange(listB );把集合A.B合并
 List<int> Result = listA.Union(listB).ToList<int>();          //剔除重复项 
 List<int> Result = listA.Concat(listB).ToList<int>();        //保留重复项
 listA.BinarySearch("1");//判断集合中是否包含某个值.如果包含则返回0

 

 

在举例两个数组

  int[] i=new int[]{1,2};
  int[] j=new int[]{2,3};
  List<int> r = new List<int>();  
  r.AddRange(i);

  r.AddRange(j);
  int[] c = r.ToArray(); 合并数组

  int[] x=i.Union(j).ToArray<int>(); //剔除重复项 

  int[] x=i.Concat(j).ToArray<int>(); //保留重复项

  int n = Array.BinarySearch(i,3);//判断数组中是否包含某个值.如果包含则返回0

 排序

1、使用Sort()
当T是简单类型,int,double之类的可以直接用

var a = new List<int>();
a.Add(1);
a.Add(5);
a.Add(4);
a.Sort();//排序

2、使用LinQ 

a = a.OrderByDescending(i => i.Name).ToList();//降序
a = a.OrderBy(i => i.Name).ToList();//升序

 

推荐阅读