String get = textBox2.Text;            
              
              char[] chars = get.ToCharArray();            
              get = "";             
              int i;             
              for (i = 0; i < chars.Length - 1; i++)             
              {                 
              for (int j = i + 1; j < chars.Length; j++)                 
              {                     
              if (chars[i] > chars[j])                    
              {                         
              char temp = chars[i];                         
              chars[i] = chars[j];                         
              chars[j] = temp;                     
              }                  
              }                 
              get += chars[i];             
              }             
              for (int k = 0; k < chars.Length; k++)             
              {                 
              textBox3.Text = get + chars[k].ToString();             
              } 
   }
怎么把我获得的字符串,转换成数组再进行排序?各位高手帮忙改下。学习中.................

解决方案 »

  1.   

    说清楚点,是这个意思吗?
    textBox3.Text.ToCharArray().GroupBy(x=>x)
      

  2.   

    ToCharArray();   

    Array.Sort
      

  3.   

    排序用Linq的OrderBy,也可以自己写排序算法
      

  4.   

    改正一下
    textBox3.Text.ToCharArray().OrderBy(x=>x)
      

  5.   

    我是想将textbox2.text中的字符串存储到数组中,然后在排序
      

  6.   

    你别告诉存到数组你不会啊,数组直接就可以用ordeyby
      

  7.   

    你用的什么排序?如果数据量大就别用LINQ呢
      

  8.   

    突然想到了一个方法,能不能设置一个bool 来做判断,设置当发生交换的时候值为false,当不发生交换的时候为true,进行一趟比较之后如果不发生交换,则结束排序?
      

  9.   

                List<string> lst = new List<string>();
                lst.Add("1");
                lst.Add("3");
                lst.Add("2");
                lst.Sort();
                for (int i = 0; i < 3; i++)
                {
                    Console.WriteLine(lst[i]);
                }