Рассчитать все возможные пары предметов из двух списков?

У меня есть два массива:

string[] Group = { "A", null, "B", null, "C", null };

string[] combination = { "C#", "Java", null, "C++", null }; 

Я хочу вернуть все возможные комбинации, такие как:

{ {"A","C#"} , {"A","Java"} , {"A","C++"},{"B","C#"},............ }

Нуль следует игнорировать.

Ответы на вопрос(1)

Решение Вопроса
Group.Where(x => x != null)
     .SelectMany(g => combination.Where(c => c != null)
                                 .Select(c => new {Group = g, Combination = c}));

В качестве альтернативы:

from g in Group where g != null
from c in combination where c != null
select new { Group = g, Combination = c }
 Omri Btian12 мар. 2015 г., 09:22
Любая идея, как сделать это эффективно, чтобы получить перестановки не только комбинации? (что означает {"A", "C #»} а также {"C #», "A"} будут рассмотрены два отдельных пункта)?
 user16067725 авг. 2009 г., 14:52
Спасибо Mehrdad за немедленный ответ.

Ваш ответ на вопрос