Здравствуйте, -n1l-, Вы писали:
_>>А вообще-то, может стоило сделать DISTINCT еще в начале, в запросе?
N>я делал distinct массива, в итоге он возвращает кириешки партия1 партия2, как из этого сделать кириешки партия1
N> кириешки партия2 я недогадался, буду благодарен если подскажите.
Покажите этот запрос, так не могу сказать.
N>и еще можно по подробнее насчет этого кода
// в исходном массиве данные колонок идут последовательно, колонок всего две, поэтому делим массив на 2 части
int tableLength = array1.Length / 2;
// берем половину массива от начала - это будет первая колонка
var column1 = array1.Take(tableLength).ToList();
// пропускаем половину массива от началаа и берем столько же - это будет вторая колонка
var column2 = array1.Skip(tableLength).Take(tableLength).ToList();
// специальный метод-расширение Zip позволяет "сшить" две "параллельных" последовательности.
// аргументы:
// - второй массив
// - лямбда-функция, которая принимает два параметра (элемент первой и второй последовательности) и возвращает элемент результата.
// В данном случае результат - это анонимный класс (без имени, то есть), с двумя полями Column1 и Column2.
var result = column1.Zip(column2, (c1, c2) => new { Column1 = c1, Column2 = c2 });
Можно было объявить класс:
public class MyTable
{
public string Column1 {get; set; }
public string Column2 {get; set; }
}
И использовать его:
var result = column1.Zip(column2, (c1, c2) => new MyTable() { Column1 = c1, Column2 = c2 });
Ну а можно и просто ручками:
List<MyTable> list = new List<MyTable>();
for(int i=0; i<tableLength; ++i)
{
MyTable t = new MyTable();
t.Column1 = column1[i];
t.Column2 = column2[i];
list.Add(t);
}