我有几个字符串,如:“a”,"b","b","c";比较这4个字符串,如果字符串一样的分到一组,这四个字符串应该分为3组,编号分别为0,1,2,请问用C#代码如何实现?

解决方案 »

  1.   

    Equals
    CompareTo
    ==
    都可以啊
      

  2.   

    String[] s = {"a","b","b","c"};
    String[] q = s.Distinct().ToArray();
      

  3.   

    List<string> list=New List<string>();
    list.add("a");
    list.add("b");
    list.add("b");
    list.add("c");
    for(i=0;i<list.Count;i++)
    {
         for(k=list.Count;k<0;k--)
         {
           if(list[k]==list[i])
             {
                   list.Remove(list[k]);
             }
         }
    }
    这样 最后只剩下 3个 元素了  分别是 list[0]"a"  list[1]"b"  list[2]"c"
      

  4.   

                List<string> strs = new List<string>() { "a", "b", "b", "c" };
                var query = from s in strs
                            group s by s.ToString() into g
                            select g.Key;            for (var i=0;i<query.Count();i++)
                {
                    Console.WriteLine("ID={0}   Value={1}", i+1,query.ToList()[i]);
                }
                /*
                ID=1   Value=a
                ID=2   Value=b
                ID=3   Value=c
                */
      

  5.   


                string A = "a";
                string B = "b";
                string C = "b";
                string D = "d";            List<string> list = new List<string>();
                list.Add(A);
                list.Add(B);
                list.Add(C);
                list.Add(D);
                List<string> NewGroup = list.Distinct().ToList<string>();            List<List<string>> GroupStr = new List<List<string>>();
                List<string> temp = null;
                for (int i = 0; i < NewGroup.Count; i++)
                {
                    int Sum = list.Where(p => p == NewGroup[i]).Count();
                    temp = new List<string>();
                    for (int x = 0; x < Sum; x++) {
                        temp.Add(NewGroup[i]);
                    }
                    GroupStr.Add(temp);
                }
      

  6.   

    sorry   k>0才对List<string> list=New List<string>();
    list.add("a");
    list.add("b");
    list.add("b");
    list.add("c");
    for(i=0;i<list.Count;i++)
    {
      for(k=list.Count;k>0;k--)
      {
      if(list[k]==list[i])
      {
      list.Remove(list[k]);
      }
      }
    }
    这样 最后只剩下 3个 元素了 分别是 list[0]"a" list[1]"b" list[2]"c" 
      

  7.   

                List<string> strs = new List<string>() { "a", "b", "b", "c" };
                int i = 0;
                strs.GroupBy(s => s.ToString()).ToList().ForEach(s => Console.WriteLine("ID={0}   Value={1}", i++, s.Key));
      

  8.   


    linq 不是有 group by 嘛using System.Linq;var originalStrings = new string[] { "a", "b", "b", "c" };
    int beginId = 0;
    var result = originalStrings.GroupBy(s => s).Select(s => new { id=beginId++, elements=s.ToArray() }).ToList();
    foreach (var item in result)
        Console.WriteLine("{0,3}\t{1,3}", item.id, string.Join(",", item.elements));输出:
      0       a
      1     b,b
      2       c