День добрый.
Столкнулся с составлением сложных условий и окончательно запутался и сломал "лыжи"(они не едут). Есть два массива:
string[] template = { "C", "F", "D", "J", "K", "A", "R", "W" };//шаблон для сравнения и группировки
string[] array = { "C", "D", "F", "J", "K", "A", "W", "R" }; //тот из которого надо составить группы
Пытаюсь привести группу из array[], к следующему виду:
- "C" - это первая группа
- "D", "F" - вторая группа,так как в template,эти элементы поменялись местами
- "J", "K" - третья группа,так как в template,эти элементы не поменялись местами
- "K", "A" - четвертая группа,в template,эти элементы не поменялись местами
- "W", "R" - пятая группа,в template,эти элементы поменялись местами,но стоят рядом
Вот собственно код,в котором я запутался клубком(прошу не пинать по клубку,я учусь):
List<string> list = new List<string>();
string[] template = { "C", "F", "D", "J", "K", "A", "R", "W" };//шаблон для сравнения и группировки
string[] array = { "C", "D", "F", "J", "K", "A", "W", "R" }; //тот из которого надо составить группы
bool g1 = (array[1] == template[0] || array[1] == template[1]);
bool g1_1 = (array[1] == template[2]);
/*-------------------------------------------------------------------------------------------------*/
bool g2 = (array[2] == template[1] || array[2] == template[2]);
bool g2_1 = (array[2] == template[3]);
/*-------------------------------------------------------------------------------------------------*/
bool g3 = (array[3]==template[2]||array[3]==template[3]);
bool g3_1 = (array[3] == template[4]);
/*-----------------------------------------------------------------------------------------------------*/
bool g4 = (array[4] == template[3] || array[4] == template[4]);
bool g4_1 = (array[4] == template[5]);
/*----------------------------------------------------------------------------------------------------*/
bool g5 = (array[5] == template[4] || array[5] == template[5]);
bool g5_1 = (array[5] == template[6]);
/*--------------------------------------------------------------------------------------------------*/
bool g6 = (array[6] == template[5] || array[6] == template[6]);
bool g6_1 = (array[6] == template[7]);
/*--------------------------------------------------------------------------------------------------*/
bool g7 = (array[7] == template[6] || array[7] == template[7]);
list.Add(array[0]);
if (g1) { list.Add(array[1]);}
if (g1_1 & g2) { list.Add(array[1] + "-" + array[2]); }
if (g2_1 & g3) { list.Add(array[2] + "-" + array[3]); }
if (g3_1 & g4) { list.Add(array[3] + "-" + array[4]); }