更新时间:2022-11-04 13:27:04
你可以使用 AddRange [ ^ ]如果您不想使用linq属性:
You can use AddRange[^] property if you don''t want to use linq:
var l1 = new List<string> {"a", "b"};
var l2 = new List<string> {"c", "d"};
var res = new List<string>();
res.AddRange(l1);
res.AddRange(l2);
Union()扩展方法。
newList = list1.Union(list2).Union(list3);
我应该指出Union()过滤掉重复项。如果你想要重复或知道有nonde,请使用Concat()。
the Union() extension method.
newList = list1.Union(list2).Union(list3);
I should point out that Union() filters out duplicates. If you want duplicates or know there are nonde, use Concat().
你可以试试这个 C#2.0 解决方案(这里不需要LINQ)。 />
You can try this C# 2.0 solution (no LINQ is required here).
using System;
using System.Collections.Generic;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// Create sample lists
var list1 = new List<string> { "A", "B", "C" };
var list2 = new List<string> { "D", "E" };
var list3 = new List<string> { "F", "G", "H" };
// "Concatenate" lists into one enumeration
var e4 = ConcatLists(list1, list2, list3);
// Create one list from enumerable sequence
var l4 = new List<string>(e4);
// Print items
foreach (var item in l4)
Console.WriteLine(item);
// Wait
Console.ReadKey();
}
public static IEnumerable<T> ConcatLists<T>(params List<T>[] lists)
{
foreach (var list in lists)
{
foreach (var item in list)
{
yield return item;
}
}
}
}
}