Создание набора мощности последовательности

Я пытаюсь создать программу, которая является основой для создания возможных комбинаций последовательности, строки или числа. Это какая-то программа шифрования / дешифрования. Я использую Visual Studio 2013 и C #. То, что я пытаюсь сделать, это генерировать набор мощности из последовательности, но я немного растерялся и не могу продолжать дальше. Вот код

public static void randomSeq(){
    int temp = 0;
    string seq = "1234";
    StringBuilder sb = new StringBuilder();
    char[] bits = seq.Select((char c) => c).ToArray();
    Console.Write("Given Sequence: ");
    Console.Write(seq);
    Console.WriteLine();
    Console.WriteLine("Generated possiblities");
    foreach (char item in bits){
        Console.WriteLine(item);
    }
    do{
        if (temp <= 2){
            for (int i = temp + 1; i < bits.Length; i++){
                 sb.Append(bits[temp]);
                 sb.Append(bits[i]);
                 Console.WriteLine(sb);
                 sb.Clear();
            }
        }else{
            if (temp > 2){
                for (int k = 0; k < temp; k++){
                    sb.Append(bits[k]);
                }
                for (int l = temp + 1; l < bits.Length; l++){
                    sb.Append(bits[temp]);
                    sb.Append(bits[l]);
                    Console.WriteLine(sb);
                    sb.Clear();
                }
            }
        }
        temp++;
    }
    while (temp != bits.Length);
}

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

Ответы на вопрос(4)

Ваш ответ на вопрос