using System.Collections.Generic;
private static readonly char[] possibleChoices = new char[] { '0', '1' };
public static void Main(string[] args)
List<string> binaries = new List<string>();
PrintBinary(2, string.Empty, binaries);
Console.WriteLine(string.Join(", ", binaries));
private static void PrintBinary(int n, string str, List<string> binaries)
foreach (char c in possibleChoices)
str = string.Concat(str, c);
PrintBinary(n, str, binaries);
str = str.Remove(str.Length - 1, 1);