为了账号安全,请及时绑定邮箱和手机立即绑定

将两个列表结合在一起

将两个列表结合在一起

C#
天涯尽头无女友 2019-11-08 14:33:12
如果我有两个字符串类型(或任何其他类型)的列表,联接两个列表的快速方法是什么?顺序应保持不变。应该删除重复项(尽管两个链接中的每个项目都是唯一的)。在Google上进行搜索时,我发现的内容不多,也不想实现任何.NET接口来提高交付速度。
查看完整描述

3 回答

?
SMILET

TA贡献1796条经验 获得超4个赞

占用空间最少的方法是使用Concat扩展方法。


var combined = list1.Concat(list2);

它创建一个实例,IEnumerable<T>该实例将按顺序枚举list1和list2的元素。


查看完整回答
反对 回复 2019-11-08
?
小唯快跑啊

TA贡献1863条经验 获得超2个赞

像这样:


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 )

{

    Console.WriteLine (x);

}

Console.ReadLine ();


#region IEqualityComparer<int> Members

public class EqComparer : IEqualityComparer<int>

{

    public bool Equals( int x, int y )

    {

        return x == y;

    }


    public int GetHashCode( int obj )

    {

        return obj.GetHashCode ();

    }

}

#endregion


查看完整回答
反对 回复 2019-11-08
  • 3 回答
  • 0 关注
  • 566 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信