2013-08-14 5 views
-1

В настоящее время у меня есть два массива, которые заполняются информацией, параллельной друг другу (т. Е. Array1 [0] является свойством элемента в массиве 0 [0] и т. Д.). В идеале я бы хотел объединить эти два массива в одну таблицу данных. Мне действительно нужна таблица данных, так как вся моя другая кодировка зависит от одной и займет слишком много времени для реструктуризации.Объединение 2 массивов в 1 Datatable

Я пробовал несколько разных циклов, чтобы получить данные в одну таблицу, но мне интересно узнать, есть ли какой-то более эффективный, менее запутанный код.

for (int i = 0; i < dt.Rows.Count; i++) 
{ 
    dtExcel.Rows.Add(partsend[i], validationReturn[i]); 
} 

Этот код работает отлично, мне просто интересно, существует ли другой способ. В последнее время я изучаю несколько новых методов развития, и я всегда заинтересован в изучении новых вещей.

+0

Рассматривали ли вы многомерный массив? Или карта из элемента в array0 в свойство в array1? Таким образом, у вас есть одна структура данных. – Mastergeek

+1

Итак, у вас уже есть решение, которое работает, вам просто не нравится. В этом литье: а) вы должны показать нам, что у вас есть, если вы ожидаете, что мы сравним наши с ним. B) вы должны размещать на Code Review, так как SO для кода, который не работает, а не для кода, который * работает *. – Servy

+0

Код опубликован. Понял, что петля была достаточно легкой, мне не нужно было. Какие-нибудь разные идеи? – Volearix

ответ

0

Zip будет делать что-то близкое к тому, что вы просите, но, скорее всего, вы должны перестроить свой код, чтобы свойства объекта были близки к нему (непосредственно на объект или в какую-то другую структуру, которая объединяет объект и его расширенные свойства).

Пример:

var objectWithProperties = 
     array0.Zip(array1, (item, property)=> new {item, property}); 
+0

Это действительно интересный фрагмент, но он, похоже, не возвращает полезная таблица данных. Я что-то упускаю? – Volearix

+0

@ Volearix - вам нужен определенный тип коллекции в качестве результата? Думаю, я пропустил это из вашего сообщения - нет, этот код просто объединит ваши элементы в одну последовательность и не вернет определенный тип, который вы ищете. –

+0

Да, я бы хотел, чтобы он возвращался как объект DataTable. Он должен быть передан в другой метод для выполнения, и потребуется слишком много времени, чтобы изменить этот метод, чтобы принять другой тип коллекции. – Volearix

Смежные вопросы