2010-06-30 4 views

답변

19

Array.Sort 메서드를 사용하려는 것처럼 들립니다.

Array.Sort(myArray) 

많은 과부하, 사용자 정의 comparers (클래스 나 대표를) 가지고있는 몇 가지가 있습니다,하지만 당신이 원하는 것 같은 기본 하나는 알파벳 순으로 정렬 (오름차순)해야한다.

+1

+1은 기본 동작 만 언급합니다. 역순으로 정렬하지 않으므로 속이거나 자신의 정렬을 구현해야합니다. –

+1

아니면 그냥 .Sort()가 목록에있는 경우 – simendsjo

+1

+1 우수 답변, 더 복잡한 정렬을 위해 IComparable 인터페이스 나 Linq의 정렬 식을 살펴볼 것입니다. – armannvg

2
class Program 

    { 
     static void Main() 
     { 
      string[] a = new string[] 
      { 
       "Egyptian", 
       "Indian", 
       "American", 
       "Chinese", 
       "Filipino", 
      }; 
      Array.Sort(a); 
      foreach (string s in a) 
      { 
       Console.WriteLine(s); 
      } 
     } 
    } 
1

Array.Sort는 또한 Predicate-Overload를 제공합니다. LINQ는 또한 당신을 empoweres

string[] myArray = ...; 
string[] sorted = myArray.OrderBy(o => o).ToArray(); 

정렬하기 위해 2 차원 배열 :

string[,] myArray = ...; 
string[,] sorted = myArray.OrderBy(o => o[ROWINDEX]).ThenBy(t => t[ROWINDEX]).ToArray(); 
을 당신은 또한 당신의 배열을 정렬하는 LINQ를 사용할 수 있습니다

Array.Sort(myArray, (p, q) => p[0].CompareTo(q[0])); 

: 당신이 당신의 정렬-동작을 지정할 수 있습니다

LINQ의 기본 정렬 동작은 사전 순으로 수행됩니다. 대신 OrderByDescending()/ThenByDescending()을 사용하여이를 취소 할 수 있습니다.

관련 문제