合并两个集合
使用语言:C#
环境:.net core 2.0 (当前使用) (支持 .net 所有环境,我就不多说了)
核心代码:
List<int> listMerge1 = list1.Union(list2).ToList();//不允许有重复项
//listMerge1:(结果){0,1,2,3,4,5,6,7,8,9}
List<int> listMerge2 = list1.Concat(list2).ToList();//允许出现重复项
//listMerge2:(结果){0,1,2,3,4,5,6,7,8,9}
简单使用
using System;
using System.Collections.Generic;
using System.Linq;
namespace UseUnionConcat
{
class Program
{
static void Main(string[] args)
{
//声明两个个集合
List<int> list1 = new List<int>(),list2 = new List<int>();
//给两个集合都加上{0,1,2,3,4,5,6,7,8,9}
for (int i = 0; i < 10; i++){list1.Add(i);list2.Add(i);}
//传参 到合并方法内进行合并
List<int> list= Merge(list1, list2);
//list:(结果){0,1,2,3,4,5,6,7,8,9}
foreach (var one in list)
{
Console.WriteLine(one);
}
}
/// <summary>
/// 合并两个集合的函数
/// </summary>
/// <param name="list1">第一个集合</param>
/// <param name="list2">第二个集合</param>
/// <returns>返回第union的合并结果</returns>
public static List<int> Merge(List<int> list1,List<int> list2)
{
List<int> listMerge1 = list1.Union(list2).ToList();//不允许有重复项
//listMerge1:(结果){0,1,2,3,4,5,6,7,8,9}
List<int> listMerge2 = list1.Concat(list2).ToList();//允许出现重复项
//listMerge2:(结果){0,1,2,3,4,5,6,7,8,9}
return listMerge1;//返回第一项
}
}
}
复杂一点使用:写个通用方法
using System;
using System.Collections.Generic;
using System.Linq;
namespace UseUnionConcat
{
class Program
{
static void Main(string[] args)
{
//声明两个个集合
List<string> list1 = new List<string>(), list2 = new List<string>();
//给两个集合都加上{0,1,2,3,4,5,6,7,8,9}
for (int i = 0; i < 10; i++){list1.Add(i.ToString());list2.Add(i.ToString());}
//传参 到合并方法内进行合并
//当然必须是引用类型才能作为参数//对象也是引用类型,所以是可以传对象的,我就不再搞代码了
List<string> list= Merge(list1, list2);
//list:(结果){0,1,2,3,4,5,6,7,8,9}
foreach (var one in list)
{
Console.WriteLine(one);
}
}
/// <summary>
/// 合并两个集合的函数
/// </summary>
/// <param name="list1">第一个集合</param>
/// <param name="list2">第二个集合</param>
/// <returns>返回第union的合并结果</returns>
public static List<T> Merge<T>(List<T> list1,List<T> list2) where T : class
{
List<T> listMerge1 = list1.Union(list2).ToList();//不允许有重复项
//listMerge1:(结果){0,1,2,3,4,5,6,7,8,9}
List<T> listMerge2 = list1.Concat(list2).ToList();//允许出现重复项
//listMerge2:(结果){0,1,2,3,4,5,6,7,8,9}
return listMerge1;//返回第一项
}
}
}
方法还是比较多的。