다른 목차 C #에 목차 내용 추가


157

나는 다음을 가지고있다 :

  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

3
흐름을 통해 스택 항상 바위 ... 좋은 질문 ...
Sangram Nandkhile

2
당신이 잘못하고, 루프 localStrings = new List<string>;앞에 배치해야합니다for
Wassim AZIRAR

1
Wassim, 그것이 그가 지역과 세계를 구별하는 이유라고 생각합니다. localStrings는 for 루프 범위에 대해 로컬이고 GlobalStrings는 글로벌 범위에 있습니다.
Dagrooms 2016 년

이 이후 분명히 그럴 수 단지 (초대 완전히 와심의 같은 의견을 생각이 잘못된 것을) 가난한 예입니다 AddGlobalStrings대신에 localStrings. 그리고 FWIW 루프는 9 번만 실행됩니다. 더 나은는 것for (int x = 0; x < 10; ++x) {var localStrings = GetAListOfStrings(); /* append those to GlobalStrings */}
짐 Balter

답변:



55
GlobalStrings.AddRange(localStrings);

작동합니다.

설명서 : List<T>.AddRange(IEnumerable<T>).


2
한 캐릭터가 당신에게 공감대를 잃었습니다. 경고, 그것은 종종 당신을 훨씬 더 잃게됩니다! (수면 또는
정신과 같은

맞지만이 답변은 이제 Lee의 답변과 중복됩니다.
Cœur

22

AddRange-method를 사용해보십시오 :

GlobalStrings.AddRange(localStrings);

맞지만이 답변은 이제 Lee의 답변과 중복됩니다.
Cœur

9

Linq와 함께

var newList = GlobalStrings.Append(localStrings)

3
Append가 존재하지 않는 것 같습니까? MSDN doc에 대한 링크가 있습니까?
포드

2
아마도 당신은 Concat을 의미했을 것입니다 ...하지만 그것은 많은 복사를 의미하며 LINQ를 사용 하지 않는 방법을 잘 보여줍니다 .
짐 발터

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);
     }

2

"terter"를 얻으려면 :)

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

for(int x=1; x<10; x++) GlobalStrings.AddRange(new List<string> { "some value", "another value"});
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.