要得到这种结果:
a,b,c,g,w,z
d,e,f,h,m
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]);
}
}
供参考
List<string> strList = new List<string>();
strList.Add("a,b,c");
strList.Add("d,e,f");
strList.Add("c,g");
strList.Add("e,h");
strList.Add("h,m");
strList.Add("a,w,z");
for (int i = 0; i < 2; i++)
{
Console.WriteLine(strList[i] + "," + strList[strList.Count - 1 - i]);
}
运行结果
看不出啥规律来啊