Как параллельно итерироваться по нескольким последовательностям?

foreach (string command in commands)
    {
        foreach (string name in namescommands)
        {
            Console.writeline(command + name);
            break;
        }
    }

В данном коде выходит такой результат:

command name
command name2
command name3

А мне необходимо, что бы было вот так.

command name
command2 name2
command3 name3

Уже не приложу голову как это реализовать...


Ответы (2 шт):

Автор решения: CrazyElf

Вам нужно параллельно итерироваться по двум последовательностям, в Python это довольно стандартная вещь, а в C# не все знают, что там есть Enumerable.Zip

Что-то типа такого у вас будет:

foreach (var (command,name) in commands.Zip(namescommands, (command, name) => (command, name)))
{
    Console.writeline(command + name);
}

Но точно за синтаксис не поручусь, надо уточнять.

→ Ссылка
Автор решения: xkrystalll
int countNameCommands = 3;    
for (int i = 0; i < countNameCommands; i++)
{
    string name = namescommands[i];
    string command = commands[i];
    Console.WriteLine(name + command);
}

Вывод:

name command
name1 command1
name2 command2
→ Ссылка