string str1 = "A_B_C_D";
            string str2 = "A_E_F_D";
            string str3 = "C_H_F_G";            List<string> list = new List<string>();            list.AddRange(str1.Split('_'));            foreach (string item in str2.Split('_'))
                if (!list.Contains(item))
                    list.Add(item);            foreach (string item in str3.Split('_'))
                if (!list.Contains(item))
                    list.Add(item);            list.Sort();            string[] arry4 = list.ToArray();

解决方案 »

  1.   


    List<string> lst = new List<string>(str1.Split('_'));
    lst.AddRange(str2.Split('_'));
    lst.AddRange(str3.Split('_'));
    lst.Sort();
    string[] str4 = lst.Distinct<string>().ToArray();
      

  2.   

     string str1 = "A_B_C_D";
                string str2 = "A_E_F_D";
                string str3 = "C_H_F_G";
                var str = (str1.Union(str2).Union(str3));
                string test = string.Empty;
               foreach(var i in str)
                 test+=i;           string[] strs = System.Text.RegularExpressions.Regex.Split(test.Replace("_",""), "(?<=.)(?=.)");            foreach (var i in strs)
                    Response.Write(i);
      

  3.   

    你们都没看题啊   我要的是合并之后各个元素的顺序要和合并之前的各个子数组里面的元素顺序对应  而不是简单的合并之后去重复就可以了 
    例如:
    str1 = "A_B_C_D"; str2 = "A_E_F_D";
    则合并之后应该是ABCEFD(BCEF的顺序不固定,但必须位于A和D之间)。而不是ABCDEF,因为在str2中E和F 是在D前面的
      

  4.   

    是我没看懂还是这个问题矛盾呢?
    假如:str1 = "A_B_C_D"; str2 = "D_E_F_A";   那么组合后的顺序应该D在A前还是A在D前呢?
      

  5.   

    在数据库查询的时候加上这个collate Chinese_PRC_Stroke_CS_AS_KS_WS   区分一下大小写