2017-02-14 5 views
6

मैं किसी सूची में initialising और वस्तुओं से सरणी रहा हूँ इस प्रकार है:तलाशी सरणी इनलाइन - LINQ

MyArray[] Arrayitems = SomeOtherList 
.Select(x => new MyArray[] 
{ 
    ArrayPar1 = x.ListPar1, 
}).ToArray() 

मैं एक माध्यमिक सूची है कि मैं की तरह कुछ initialiser में एक ही सरणी इनलाइन में जोड़ने के लिए, चाहते हैं यह():

MyArray[] Arrayitems = SomeOtherList 
    .Select(x => new MyArray[] 
    { 
     ArrayPar1 = x.ListPar1, 
    }).ToArray() 
    .Join(
    MyArray[] Arrayitems = SomeOtherListNo2 
    .Select(x => new MyArray[] 
    { 
     ArrayPar1 = x.ListPar1, 
    }).ToArray() 
    ); 

क्या यह संभव है या मुझे प्रारंभिक चयन कथन से पहले सबकुछ जोड़ना होगा?

+0

तुम्हारा मतलब 'नया क्या myArray() '? 'नया MyArray [] 'आपके दिए गए प्रारंभकर्ता और परिणाम प्रकार के साथ समझ में नहीं आता है। – Sefe

+0

धन्यवाद सीफ़, आप सही हैं लेकिन यह सिर्फ एक psuedo उदाहरण है, वास्तविक कोड में केवल 'Arrayitems' होगा जो कहीं और शुरू किया गया है। आप अन्य जवाब बिल्कुल वही है जो मुझे चाहिए, धन्यवाद। –

उत्तर

6

आप Concat उपयोग कर सकते हैं:

MyArray[] Arrayitems = SomeOtherList.Concat(SomeOtherListNo2) 
.Select(x => new MyArray() 
{ 
    ArrayPar1 = x.ListPar1, 
}).ToArray(); 

आइटम दोनों सूचियों में शामिल किया जा सकता है और आप अपने परिणाम में केवल एक बार उन्हें चाहते हैं, आप Union उपयोग कर सकते हैं:

MyArray[] Arrayitems = SomeOtherList.Union(SomeOtherListNo2) 
.Select(x => new MyArray() 
{ 
    ArrayPar1 = x.ListPar1, 
}).ToArray(); 
संबंधित मुद्दे