सूची सूची को किसी अन्य सूची C # में जोड़ें


157

मेरे पास निम्नलिखित हैं:

  1. GlobalStrings नामक एक मुख्य सूची
  2. एक अन्य सूची जिसे लोकलस्ट्रेस कहा जाता है

उदाहरण के लिए एक लूप में:

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
स्टैक ओवर फ्लो
ऑलवेज़

2
आप इसे गलत कर रहे हैं, लूप localStrings = new List<string>;से पहले रखा जाना चाहिएfor
वसीम एज़ीर

1
वसीम, मुझे लगता है कि इसीलिए वह स्थानीय और वैश्विक के बीच अंतर करता है; लोकलस्ट्रेस फ़ॉर-लूप स्कोप के लिए लोकल है, ग्लोबल स्ट्रेस ग्लोबल स्कोप में है।
डैगरूम

यह एक गरीब उदाहरण है के बाद से स्पष्ट रूप से आप कर सकते थे बस (है कि ऐसे आमंत्रण, पूरी तरह से wrongheaded Wassim की तरह टिप्पणी), Addके लिए GlobalStringsके बजाय करने के लिए localStrings। और एफडब्ल्यूआईडब्ल्यू आपको लूप केवल 9 बार चलाता है। बेहतर होगाfor (int x = 0; x < 10; ++x) {var localStrings = GetAListOfStrings(); /* append those to GlobalStrings */}
जिम बेल्टर

जवाबों:


256
GlobalStrings.AddRange(localStrings);

नोट: आप इंटरफ़ेस (IList) का उपयोग करके सूची ऑब्जेक्ट घोषित नहीं कर सकते।
प्रलेखन: List<T>.AddRange(IEnumerable<T>)


55
GlobalStrings.AddRange(localStrings);

यह काम करता है।

प्रलेखन: List<T>.AddRange(IEnumerable<T>)


2
एक चरित्र ने आपको एक अपवित्र खो दिया। चेतावनी दी है, यह अक्सर आप बहुत अधिक खो देता है! (नींद या पवित्रता की तरह।)
deed02392

सही होने पर, यह उत्तर अब ली के उत्तर के डुप्लिकेट के रूप में खड़ा है।
कूर

22

AddRange-method आज़माएँ:

GlobalStrings.AddRange(localStrings);

सही होने पर, यह उत्तर अब ली के उत्तर के डुप्लिकेट के रूप में खड़ा है।
क्यूर

9

लिनक के साथ

var newList = GlobalStrings.Append(localStrings)

3
लगता है मौजूद नहीं है? क्या आपके पास इसके लिए MSDN डॉक का लिंक है?
पॉड

2
शायद आपको कॉनैट का मतलब था ... हालांकि इसका मतलब बहुत अधिक नकल करना होगा, और लिनक्यू का उपयोग करने का एक अच्छा उदाहरण है ।
जिम बाल्टर 20

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

अगर आप "terse" पाना चाहते हैं :)

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

for(int x=1; x<10; x++) GlobalStrings.AddRange(new List<string> { "some value", "another value"});
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.