微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在C#中将两个StringCollection合并/合并为一个

如何解决如何在C#中将两个StringCollection合并/合并为一个

如何在C#中合并/合并两个StringCollection

var collection1 = new StringCollection () { "AA","BB","CC" };
var collection2 = new StringCollection () { "DD","EE","FF" };
var resultCollection = collection1 + collection2 ; // Todo
                               

解决方法

您可以将所有内容复制到这样的数组

    var collection1 = new StringCollection() { "AA","BB","CC" };
    var collection2 = new StringCollection() { "DD","EE","FF" };

    var array = new string[collection2.Count + collection1.Count];

    collection1.CopyTo(array,0);
    collection2.CopyTo(array,collection1.Count);
,

如果您仍想收集字符串,则可以使用AddRange

var collection1 = new StringCollection () { "AA","CC" };
var collection2 = new StringCollection () { "DD","FF" };
var resultCollection = new StringCollection();
resultCollection.AddRange(collection1.Cast<string>.ToArray());
resultCollection.AddRange(collection2.Cast<string>.ToArray());

似乎奇怪的是StringCollection没有直接支持添加其他StringCollection的功能。如果效率是一个问题,Beingnin's answer可能比这里的答案更有效,并且如果您仍然需要StringCollection,可以使用生成的数组并使用AddRange添加该字符串数组到新的StringCollection

,

您可以转换为数组并使用Union,请注意,这也会删除重复项

var resultCollection = collection1.Cast<string>().Union(collection2.Cast<string>())
,

您可以使用List而不是StringCollection ...

        var collection1 = new List<string>() { "AA","CC" };
        var collection2 = new List<string>() { "DD","FF" };
        var resultCollection = collection1.Concat(collection2).ToList();

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。