深山中 2021-07-15 21:50 采纳率: 80%
浏览 55
已采纳

C# 递归 for循环,如何能得到以下结果?

img

要得到这种结果:
a,b,c,g,w,z
d,e,f,h,m

img

  • 写回答

4条回答 默认 最新

  • 浪客 2021-07-15 22:34
    关注
    class Program
    {
        static void Main(string[] args)
        {
            List<string> strList = new List<string>();
            strList.Add("a,b,c");
            strList.Add("d,f");
            strList.Add("d,h,m");
            strList.Add("c,j");
            strList.Add("a,w");
            strList.Add("h,z");
            strList.Add("j,k");
    
            for (int i = 0; i < strList.Count-1; i++)
            {
                for(int j=i+1;j<strList.Count;j++)
                {
                    string[] ss=strList[j].Split(",");
                    foreach(string s in ss)
                    {
                        if(strList[i].IndexOf(s)>=0)
                        {
                            strList[i]+=strList[j].Substring(1);
                            strList.RemoveAt(j);
                            i=j=0;  //从0开始重新遍历查找
                            break;
                        }
                    }
                }
            }
            for (int i = 0; i < strList.Count; i++)
                Console.WriteLine(strList[i]);
        }
    }
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 已采纳回答 7月15日
  • 修改了问题 7月15日
  • 创建了问题 7月15日