第一步:定义两个list并进行初始化
public List<string> GetList1()
{
List<string> list1 = new List<string>();
list1.Add("1");
list1.Add("2");
list1.Add("3");
list1.Add("4");
list1.Add("4");
return list1;
}
public List<string> GetList2()
{
List<string> list2 = new List<string>();
list2.Add("3");
list2.Add("4");
list2.Add("5");
list2.Add("6");
return list2;
}
第二步:定义相关方法
#region 两个List取交集
public List<string> GetIntersection()
{
ListData ld = new ListData();
List<string> list1 = new List<string>();
List<string> list2 = new List<string>();
List<string> result = new List<string>();
list1 = ld.GetList1();
list2 = ld.GetList2();
//注意结果一定要转换为List类型
result = list1.Intersect(list2).ToList();
return result;
}
#endregion
#region 判断是否有交集
public bool IsHasIntersect()
{
bool bl=false;
ListData ld = new ListData();
List<string> list1 = new List<string>();
List<string> list2 = new List<string>();
List<string> result = new List<string>();
list1 = ld.GetList1();
list2 = ld.GetList2();
//注意结果一定要转换为List类型
result = list1.Intersect(list2).ToList();
if (result.Count > 0)
{
bl = true;
}
return bl;
}
#endregion
#region 两个List取并集
public List<string> GetUnion()
{
ListData ld = new ListData();
List<string> list1 = new List<string>();
List<string> list2 = new List<string>();
List<string> result = new List<string>();
list1 = ld.GetList1();
list2 = ld.GetList2();
//注意结果一定要转换为List类型
result = list1.Union(list2).ToList();
return result;
}
#endregion
#region 两个List取差集
public List<string> GetSubtraction()
{
ListData ld = new ListData();
List<string> list1 = new List<string>();
List<string> list2 = new List<string>();
List<string> result = new List<string>();
list1 = ld.GetList1();
list2 = ld.GetList2();
result = list1.Except(list2).ToList();
return result;
}
#endregion
#region 去重
public List<string> GetDistinct()
{
ListData ld = new ListData();
List<string> list1 = new List<string>();
List<string> result = new List<string>();
list1 = ld.GetList1();
result = list1.Distinct().ToList();
return result;
}
#endregion
#region 判断一个list是否完整包含另一个list中的元素
public bool IsContain()
{
bool bl = false;
ListData ld = new ListData();
List<string> list1 = new List<string>();
list1 = ld.GetList1();
List<string> list2 = new List<string>();
list2 = ld.GetList2();
bl = list1.All(b => list2.Any(a => a.Equals(b)));
return bl;
}
#endregion
第三步:在主程序中进行实现,结果如下
是否包含:不包含
交集:{3,4}
并集:{1,2,3,4,5,6}
差集:{1,2}
去重:{1,2,3,4}