用控制台实现,两个字符串a="  ,3,4,,5"  b="3,4,2,3,5"
当然字符串可能不规范,
求a-b交集c="3,5"
a+b 合集d="2,3,4,5"
要求
如果只有一个交集不允许有逗号
逗号不能出现在头和尾

解决方案 »

  1.   

    string [] str=split(',');然后遍历对比
      

  2.   

    var aArr=a.Split(',');
    var bArr=b.Split(',');
    List<string> cList= new List<string>();
    List<string> dList= new List<string>();
    Array.Foreach(aArr,c=>cList.Add(c));
    Array.Foreach(aArr,c=>dList.Add(c));
    Array.Foreach(bArr,c=>{if(!aArr.Contains(c))cList.Remove(c)});
    Array.Foreach(bArr,c=>{if(!aArr.Contains(c))dList.Add(c));
    var c=String.Join(',',cList.ToArray());
    var d=String.Join(',',dList.ToArray());
      

  3.   

     string a = " ,3,4,,5", b = "3,4,2,3,5";
                var intersect = a.Split(',').Intersect(b.Split(',')).ToArray ();
                Console.WriteLine("Intersection:{0}", string.Join(",", intersect ));
                var collect = a.Split(',').Union(b.Split(','));
                Console.WriteLine("Collection:{0}", string.Join(",", collect));
                Console.ReadKey();
      

  4.   

    先把字符串split成数组,有个参数可以过滤null值。然后用linq求交集和并集的方法直接取得结果集合,并专程数组,再用string.join拼成字符串
      

  5.   

    http://msdn.microsoft.com/zh-cn/library/system.linq.enumerable.aspx
      

  6.   

    str=str.Replce(",","");//先把,去掉
    string[] strs=str.ToArray();//再放到数组集合中
    //然后DOWN一个效率高的求交集的算法