我有两个已排序List<int>
,如何有效地将它们合并到一个排序列表中?
例如:
List<int> a = new List<int>() {1, 2, 3};
List<int> b = new List<int>() {1, 4, 5};
List<int> aAndB = ....?
我希望我的aAndB
列表看起来像:{1, 1, 2, 3, 4, 5}
答案 0 :(得分:0)
您可以使用Concat
或AddRange
合并两个列表:
List<int> a = new List<int>() {1, 2, 3};
List<int> b = new List<int>() {1, 4, 5};
//using Concat
List<int> aAndB = a.Concat(b).OrderBy(x => x).ToList();
//using AddRange
aAndB = new List<int>(a).AddRange(b).Sort();
答案 1 :(得分:0)
您需要Concat
和Order
这些列表,如:
List<int> aAndB = a.Concat(b).OrderBy(r=> r).ToList();
使用List<T>
执行相同操作的另一种方法是使用AddRange
上提供的Sort
和List<T>
方法,例如:
List<int> a = new List<int>() { 1, 2, 3 };
List<int> b = new List<int>() { 1, 4, 5 };
List<int> aAndB = new List<int>(a);
aAndB.AddRange(b);
aAndB.Sort();