数组中的元素用这个方法可以实现全组合,如果要把字符串str按单个字全组合怎样实现??求高手帮忙修改
class Program
    {
        //static string[] arrayline = {"一","二","三","四","五","六","七" };
        static string str = "一二三四五六七";        static void Main(string[] args)
        {
            char[] arrayline= str.ToCharArray();
            Dictionary<string, int> dic = new Dictionary<string, int>();            for (int i = 0; i < arrayline.Length; i++)
            {
                
                dic.Add(arrayline[i], i);
            }
            GetString(dic);            Console.ReadLine();
        }        static void GetString(Dictionary<string, int> dd)
        {
            Dictionary<string, int> dic = new Dictionary<string, int>();            foreach (KeyValuePair<string, int> kv in dd)
            {
                for (int i = kv.Value + 1; i < arrayline.Length; i++)
                {
                    Console.WriteLine(kv.Key + arrayline[i]);
                    dic.Add(kv.Key + arrayline[i], i);
                }
            }            if (dic.Count > 0) GetString(dic);
        }
    }

解决方案 »

  1.   


      static string str = "一二三四五六七";
    what's your purpose? 
      

  2.   

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
                Combo("一二三四五六七").ToList().ForEach(x => Console.WriteLine(x));
            }        static IEnumerable<string> Combo(string s)
            {
                foreach (var x in (Enumerable.Range(1, Convert.ToInt32(Math.Pow((double)2, (double)s.Length)) - 1)))
                {
                    string r = "";
                    var x1 = x;
                    for (int i = 0; i < s.Length; i++ )
                    {
                        r += x1 % 2 == 0 ? "" : s[i].ToString();
                        x1 /= 2;
                    }
                    yield return r;
                }
            }
        }
    }
      

  3.   



    一二

    一三
    二三
    一二三

    一四
    二四
    一二四
    三四
    一三四
    二三四
    一二三四

    一五
    二五
    一二五
    三五
    一三五
    二三五
    一二三五
    四五
    一四五
    二四五
    一二四五
    三四五
    一三四五
    二三四五
    一二三四五

    一六
    二六
    一二六
    三六
    一三六
    二三六
    一二三六
    四六
    一四六
    二四六
    一二四六
    三四六
    一三四六
    二三四六
    一二三四六
    五六
    一五六
    二五六
    一二五六
    三五六
    一三五六
    二三五六
    一二三五六
    四五六
    一四五六
    二四五六
    一二四五六
    三四五六
    一三四五六
    二三四五六
    一二三四五六

    一七
    二七
    一二七
    三七
    一三七
    二三七
    一二三七
    四七
    一四七
    二四七
    一二四七
    三四七
    一三四七
    二三四七
    一二三四七
    五七
    一五七
    二五七
    一二五七
    三五七
    一三五七
    二三五七
    一二三五七
    四五七
    一四五七
    二四五七
    一二四五七
    三四五七
    一三四五七
    二三四五七
    一二三四五七
    六七
    一六七
    二六七
    一二六七
    三六七
    一三六七
    二三六七
    一二三六七
    四六七
    一四六七
    二四六七
    一二四六七
    三四六七
    一三四六七
    二三四六七
    一二三四六七
    五六七
    一五六七
    二五六七
    一二五六七
    三五六七
    一三五六七
    二三五六七
    一二三五六七
    四五六七
    一四五六七
    二四五六七
    一二四五六七
    三四五六七
    一三四五六七
    二三四五六七
    一二三四五六七
    Press any key to continue . . .