web-dev-qa-db-ja.com

リストの内容を別のリストに追加する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
144
JL.
GlobalStrings.AddRange(localStrings);

注:インターフェイス(IList)を使用してリストオブジェクトを宣言することはできません。

237
Lee
GlobalStrings.AddRange(localStrings);

うまくいくと思う。

タイプミスがありました。 「単一文字の編集は許可されていません」という問題を回避するために、この行を追加しました。

50
Jimmeh

AddRange-methodを試してください:

GlobalStrings.AddRange(localStrings);
22
martin

Linqで

var newList = GlobalStrings.Append(localStrings)
9

これが私の例です:

    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);
     }
5
Jim Lahman

「簡潔」にしたい場合:)

List<string>GlobalStrings = new List<string>(); 

for(int x=1; x<10; x++) GlobalStrings.AddRange(new List<string> { "some value", "another value"});
2
BillW