Попарное сочетание столбцов (перестановок) зубчатого массива в C#

Мне нужна ваша помощь и совет по попарному объединению столбцов (перестановок) зубчатого массива в C#, для большей наглядности покажу пример:

Входной массив:

String[][] arr = {
                    new String[] {"A", "B", "C"},
                    new String[] {"D", "E", "F"},
                    new String[] {"G", "H", "I"}
                   };

Выходные массивы должны быть:

String[][] F_and_S = {
"A", "B",
"D", "E",
"G", "H",
} //first column & second column

String[][] F_and_T = {
"A", "C",
"D", "F",
"G", "I",
} //first column & third column

String[][] S_and_T = {
"B", "C",
"E", "F",
"H", "I",
} //second column & third column

person YutuKAron    schedule 20.08.2018    source источник
comment
Что вы пробовали и в чем именно проблема? Это не служба написания кода или обучения; пройдите тур и просмотрите Как задать вопрос .   -  person jonrsharpe    schedule 20.08.2018
comment
Я пытался сделать два цикла for для столбцов, где я получаю две комбинации F_and_S и S_and_T, но я не могу получить F_and T, вот где я застрял   -  person YutuKAron    schedule 20.08.2018
comment
Затем отредактируйте вопрос, чтобы предоставить минимально воспроизводимый пример.   -  person jonrsharpe    schedule 20.08.2018
comment
Похоже, опубликовал несколько часов назад. Посмотрите, может ли это быть полезным.   -  person Jimi    schedule 20.08.2018
comment
Большое спасибо, Джими! :)   -  person YutuKAron    schedule 21.08.2018