将两个列表结合在一起

如果我有两个字符串类型(或任何其他类型)的列表,联接两个列表的快速方法是什么?

顺序应保持不变。应该删除重复项(尽管两个链接中的每个项目都是唯一的)。在Google上进行搜索时,我发现的内容不多,也不想实现任何.NET接口来提高交付速度。


天涯尽头无女友
浏览 567回答 3
3回答

SMILET

占用空间最少的方法是使用Concat扩展方法。var combined = list1.Concat(list2);它创建一个实例,IEnumerable<T>该实例将按顺序枚举list1和list2的元素。

小唯快跑啊

像这样:firstList.AddRange (secondList);或者,您可以使用System.Linq中定义的“ Union”扩展方法。使用“联合”,您还可以指定一个比较器,该比较器可用于指定是否应合并项目。像这样:List<int> one = new List<int> { 1, 2, 3, 4, 5 };List<int> second=new List<int> { 1, 2, 5, 6 };var result = one.Union (second, new EqComparer ());foreach( int x in result ){&nbsp; &nbsp; Console.WriteLine (x);}Console.ReadLine ();#region IEqualityComparer<int> Memberspublic class EqComparer : IEqualityComparer<int>{&nbsp; &nbsp; public bool Equals( int x, int y )&nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; return x == y;&nbsp; &nbsp; }&nbsp; &nbsp; public int GetHashCode( int obj )&nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; return obj.GetHashCode ();&nbsp; &nbsp; }}#endregion
打开App,查看更多内容
随时随地看视频慕课网APP