как объединить списки

  • Автор темы Автор темы blud
  • Дата начала Дата начала

blud

Client
Регистрация
19.04.2011
Сообщения
657
Реакции
77
Баллы
28
вопрос может и простой, но ответа я пока не нашел ...
итак: есть несколько списков(A, B, C, D) с одинаковым количеством строк, как объединить списки так, что бы строки:
1-A + 1-B + 1-C = 1-D, 2-A + 2-B + 2-C = 2-D, 3-A + 3-B + 3-C = 3-D... и т.д.
использовать цикл не хочется .. может как то можно одним кубиком... ???
 
Циклом не так уж и сложно, см. пример.
Одним кубиком только через C#... Но там те же циклы придется прописывать.
 

Вложения

  • Спасибо
Реакции: lbvf65 и blud
Циклом не так уж и сложно, см. пример.
Одним кубиком только через C#... Но там те же циклы придется прописывать.
спасибо ... жаль конечно, что без цикла никак... но как говориться : на безрыбье и хрен водопровод... буду пробовать ... еще раз спасибо
 
Код:
Развернуть Свернуть Копировать
var listA = project.Lists["A"];
var listB = project.Lists["B"];
var listC = project.Lists["C"];
var listD = project.Lists["D"];

for (int i=0; i < listA.Count; i++) {
    listD.Add(listA[i] + listB[i] + listC[i]);
}
 
  • Спасибо
Реакции: blud
Код:
Развернуть Свернуть Копировать
var listA = project.Lists["A"];
var listB = project.Lists["B"];
var listC = project.Lists["C"];
var listD = project.Lists["D"];

for (int i=0; i < listA.Count; i++) {
    listD.Add(listA[i] + listB[i] + listC[i]);
}
и вам спасибо
 
Тут спрошу. Задача похожая. Только списков три.
Нужно брать первую строку в первом списке, добавлять первую из второго списка и первую из третьего. Потом 1-1-2, 1-1-3, 1-1-4.
Как закончились строки в третьем списке, переходим ко второй строке второго списка: 1-2-1, 1-2-2 и т. д.
Когда и во втором списке закончились все строки, то переходим ко второй строке первого.
В итоге имеем 4-ый список со всеми вариациями.
Тремя вложенными циклами могу реализовать, но может быть есть другой способ?
 
  • Спасибо
Реакции: Шива
Тут спрошу. Задача похожая. Только списков три.
Нужно брать первую строку в первом списке, добавлять первую из второго списка и первую из третьего. Потом 1-1-2, 1-1-3, 1-1-4.
Как закончились строки в третьем списке, переходим ко второй строке второго списка: 1-2-1, 1-2-2 и т. д.
Когда и во втором списке закончились все строки, то переходим ко второй строке первого.
В итоге имеем 4-ый список со всеми вариациями.
Тремя вложенными циклами могу реализовать, но может быть есть другой способ?
Код:
Развернуть Свернуть Копировать
var listA = project.Lists["A"];
var listB = project.Lists["B"];
var listC = project.Lists["C"];
var listResult = project.Lists["Result"];

for (int i=0; i<listA.Count; i++) {
    for (int n=0; n<listB.Count; n++) {
        for (int t=0; t<listC.Count; t++) {
            listResult.Add(listA[i] + listB[n] + listC[t]);
        }
    }
}
 
  • Спасибо
Реакции: Severip
Спасибо, конечно, но это элементарно. Написано выше - без вложенных циклов.
Хотя особо не принципиально, просто ищу новые методы.
 
Есть более сложные и замороченные способы, но при их реализации легко сделать несколько ошибок. Оно вам надо? Вложенные циклы прекрасно работают, «от добра добра не ищут».
 
Спасибо, конечно, но это элементарно. Написано выше - без вложенных циклов.
Хотя особо не принципиально, просто ищу новые методы.
откуда такая неприязнь к вложенным циклам? ) если это простейшее решение, то зачем изобретать велосипед
 
Неприязнь по опыту работы с анимацией когда на каждом кадре просчитывается такая конструкция выше, то наступает алис)
 
ох уж эти циклы ... вот просьба к знатокам ... как такое можно организовать на C#:
 

Вложения

ох уж эти циклы ... вот просьба к знатокам ... как такое можно организовать на C#:
напиши что на входе и что нужно получить на выходе, вникать в такой проект сложнее, чем понять на словах
 
на входе шесть файлов с кусками кейвордов.. на выходе нч....
сорри я там накосячил .. при сборке нч в списке G должно быть: {-Variable.a-} {-Variable.b-} {-Variable.c-} а не {-Variable.a-}:{-Variable.b-}:{-Variable.c-}
 
я написал программку на c#, которая как раз позволяет задавать ключевики и генерит все их сочетания, при этом поддерживается spintax, то есть задаёшь синонимы
{111|112|113|}{121|122|123|}
А он выдаёт:
111121
111122
111123
111
112121
112122
112123
112
113121
113122
113123
113
121
122
123
 
Есть 2 списка номер и сумма по 5000 строк.

Как их закинуть в таблицу? Чтобы номера соответствовали суммам? не хочется через цикли делать.

[B]nole[/B], можно код переделать чтобы в таблицу сохраняло в строке а и б
 
Есть 2 списка номер и сумма по 5000 строк.

Как их закинуть в таблицу? Чтобы номера соответствовали суммам? не хочется через цикли делать.

[B]nole[/B], можно код переделать чтобы в таблицу сохраняло в строке а и б
C#:
Развернуть Свернуть Копировать
var listA = project.Lists["A"];
var listB = project.Lists["B"];
var tableA = project.Tables["result"];

for (int i=0; i < listA.Count; i++)
{
    tableA.AddRow(listA[i] + ";" + listB[i]); // где ";" - это разделитель столбцов в таблице result
}
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)