2013-06-23 3 views
1

Скажем, у меня есть два комплектаУмный способ Concat двух наборов

var Set1 = new[] { "A", "B", "C" }; 
var Set2 = new[] { "1", "2", "3" }; 

Для Concat эти два набора обычно я делаю

foreach (string itm1 in Set1) 
{ 
    foreach (string itm2 in Set2) 
    { 
     Console.WriteLine(itm1 + itm2); 
    } 
} 

Есть ли стиль LINQ получения такого же результата?

+0

ZIP LinQ может помочь здесь –

ответ

0

Попробуйте

var concatSet =Set1 
       .SelectMany(
          item => Set2, 
          (i1, i2) => (i1 + i2) 
          ); 
2
var strs = Set1.SelectMany(s1 => Set2.Select(s2 => s1 + s2)) 
foreach(string s in strs) 
{ 
    Console.WriteLine(s); 
} 

альтернативно с использованием синтаксиса запроса:

var strs = from s1 in Set1 
      from s2 in Set2 
      select s1 + s2;