日期:2014-05-17  浏览次数:20792 次

【组合算法】求救,求大神帮忙,急急急急急急急急急急
帮忙写一个方法

前提
我现在又个方法 传入一个Char返回一个string集合的
public  List<string> GetList(char c)
{
  //具体代码省略
  return list;
}

还有一个得到Dictionary<int, List<string>>的方法
public Dictionary<int, List<string>> GetDic(stirng str)
{
 Dictionary<int, List<string>> dic = new Dictionary<int, List<string>>();
 char[] chars = str.ToCharArray();
 for (int i = 0; i < chars.Length; i++)
 {
  dic.Add(i,GetList(chars[i]));
 }
return dic;
}
比如输入一个 你好  得到的dic为 
0  new List<string>("1","2");
1  new List<string>("1","2","3");

问题
然后组合dic 里面的得到一个Liss<string>
11
12 
13
21
22
23

------解决方案--------------------
List<string> list1 = new List<string>() { "1", "2" };
List<string> list2 = new List<string>() { "1", "2", "3" };
foreach (string item in list1.SelectMany(x => list2.Select(y => x + y)))
    Console.WriteLine(item);