将列表内容附加到另一个列表C#

JL.*_*JL. 152 c#

我有以下内容:

  1. 一个名为GlobalStrings的主列表
  2. 另一个名为localStrings的列表

在循环中例如:

List<string> GlobalStrings = new List<string>(); 
List<string> localStrings = new List<string>();
for(x=1;x<10;x++)
{
    localStrings.Add("some value"); 
    localStrings.Add("some value");
}
// Want to append localStrings to GlobalStrings as easily as possible
Run Code Online (Sandbox Code Playgroud)

Lee*_*Lee 248

GlobalStrings.AddRange(localStrings);
Run Code Online (Sandbox Code Playgroud)

注意:您不能使用接口(IList)声明列表对象.


Jim*_*meh 55

GlobalStrings.AddRange(localStrings);
Run Code Online (Sandbox Code Playgroud)

我认为这很有效.

有一个错字.我添加了这一行,以摆脱"单字符编辑禁止"问题.

  • 一个角色使您失去了赞誉。被警告,它常常使您失去更多!(如睡眠或理智。) (2认同)

mar*_*tin 22

试试AddRange-method:

GlobalStrings.AddRange(localStrings);
Run Code Online (Sandbox Code Playgroud)


Bla*_*son 9

有了Linq

var newList = GlobalStrings.Append(localStrings)
Run Code Online (Sandbox Code Playgroud)

  • 追加似乎不存在?你有MSDN doc的链接吗? (3认同)
  • 也许您的意思是Concat ...尽管那将意味着大量复制,并且很好地说明了如何*不*使用LINQ。 (2认同)

Jim*_*man 5

这是我的示例:

    private List<int> m_machinePorts = new List<int>();

    public List<int> machinePorts
    {
        get { return m_machinePorts; }
    }

    Init()
    {
        // Custom function to get available ethernet ports
        List<int> localEnetPorts = _Globals.GetAvailableEthernetPorts();

        // Custome function to get available serial ports
        List<int> localPorts = _Globals.GetAvailableSerialPorts();

        // Build Available port list 
        m_machinePorts.AddRange(localEnetPorts);
        m_machinePorts.AddRange(localPorts);
     }
Run Code Online (Sandbox Code Playgroud)