Массив string сложение элементов массива в разной последовательности, все возможные варианты - C#
Формулировка задачи:
Подскажите как проще всего реализовать, задача следующая, есть массив, допустим:
Я надеюсь смысл ясен, первый массив:
string[] mas = new string[] { "A", "B", "C" };
string
не просто так, надо написать код, который будет создавать новый массив в котором будут все возможные варианты предыдущего массива, в котором все элементы собираются в один, только в разной последовательности, т.е.// этот волшебный код, и его результат должен выглядеть примерно так: string[] masFinal = new string[] { "ABC", "ACB", "BAC", "BCA", "CBA", "CAB" } ;
"A", "B", "C"
Второй массив:"ABC", "ACB", "BAC", "BCA", "CBA", "CAB"
Как такое проще всего реализовать? я начал думать и что то заглох, на ум приходят связанные списки, рандомные числа и прочая ересь, но почему то мне кажется все это можно проще реализовать, например черезLINQ
, я в последнее время учуPHP
, голова кипит и как то не особо варит в направленииC#
, подскажите куда думать.Решение задачи: «Массив string сложение элементов массива в разной последовательности, все возможные варианты»
textual
Листинг программы
using System; using System.Linq; class tempClass { public char One; public char Two; public tempClass(char o, char t) { One = o; Two = t; } } class MyClass { static void Main() { char[] msvOne = { 'A', 'B', 'C' }; char[] msvTwo = { 'Z', 'X', 'Y' }; var NumPlus = from tempOne in msvOne from tempTwo in msvTwo select new tempClass(tempOne, tempTwo); foreach (var w in NumPlus) { Console.Write("{0}{1} ", w.One, w.Two); } /* результат программы - все возможные сочетания букв из первого источника данных со вторым - AZ AX AY BZ BX BY CZ CX CY */ Console.ReadKey(); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д