c# List的高效率方法

            string[] carTypeArr = { "1", "2", "3", "4" };
            string[] carTypePartArr = { "1", "4", "4" };

            /*以下代码测试List.Except List.Distinct List.Concat List.Union*/
            //以下结果集为两个list的差集
            label1.Text += "Except:";
            var ExceptList = carTypeArr.ToList().Except(carTypePartArr.ToList()).ToList();
            foreach (var carType in ExceptList)
            {
                label1.Text += carType + ",";
            }

            label1.Text += "\n";
            label1.Text += "Distinct:";
            //以下结果集为某一个list的非重复子集的集合
            var DistinctList = carTypePartArr.ToList().Distinct().ToList();
            foreach (var carType in DistinctList)
            {
                label1.Text += carType + ",";
            }

            label1.Text += "\n";
            label1.Text += "Concat:";
            //以下结果集为两个list的合并集合-包含重复项
            var ConcatList = carTypePartArr.ToList().Concat(carTypeArr.ToList()).ToList();
            foreach (var carType in ConcatList)
            {
                label1.Text += carType + ",";
            }

            label1.Text += "\n";
            label1.Text += "Union:";
            //以下结果集为两个list的合并集合-不包含重复项
            var UnionList = carTypePartArr.ToList().Union(carTypeArr.ToList()).ToList();
            foreach (var carType in UnionList)
            {
                label1.Text += carType + ",";
            }

 

以下为运行结果图:

c# List的高效率方法

上述四种方法用在对于list有筛选操作时的场景,感觉.net framework对于list的操作还是很丰富的,相较于用类似于linq的方式进行筛选这种可能更加的直接和简单。