C#에서는 숫자 이외에도 문자나 시간으로도 정렬을 시킬 수 있습니다.
우선 문자열 요소를 가지고 정렬하는 방법을 보겠습니다.
문자열 정렬
문자열 요소 정렬 예제
using System;
using System.Collections.Generic;
using System.Linq;
namespace Sample {
class Sample {
static void Main() {
string[] src = {"Park", "Kim", "Lee"};
// Array.Sort
string[] dst1 = new string[src.Length];
Array.Copy(src, dst1, src.Length);
Array.Sort(dst1);
Console.WriteLine("[{0}]", string.Join(", ", dst1));
// List.Sort
var list1 = new List<string>();
list1.AddRange(src);
list1.Sort();
Console.WriteLine("[{0}]", string.Join(", ", list1));
// 람다식 정렬
var list2 = new List<string>();
list2.AddRange(src);
list2.Sort((a, b) => a.CompareTo(b));
Console.WriteLine("[{0}]", string.Join(", ", list2));
// LINQ 정렬
var dst2 = src.OrderBy(a => a);
Console.WriteLine("[{0}]", string.Join(", ", dst2));
Console.ReadKey();
}
}
}
결과
[Kim, Lee, Park]
[Kim, Lee, Park]
[Kim, Lee, Park]
[Kim, Lee, Park]
예제 코드에는 Array.Sort, List.Sort, 람다식 정렬, LINQ 정렬을 작성해보았습니다.
시간 정렬
요소가 DateTime일 경우에 정렬하는 방법을 보겠습니다.
시간 정렬 예제
using System;
using System.Collections.Generic;
using System.Linq;
namespace Sample {
class Sample {
static void Main() {
DateTime[] src = {DateTime.Parse("2018/12/03"),
DateTime.Parse("2019/01/01"),
DateTime.Parse("2018/10/13")};
// Array.Sort
DateTime[] dst1 = new DateTime[src.Length];
Array.Copy(src, dst1, src.Length);
Array.Sort(dst1);
Console.WriteLine("[{0}]", string.Join(", ", dst1));
// List.Sort
var list1 = new List<DateTime>();
list1.AddRange(src);
list1.Sort();
Console.WriteLine("[{0}]", string.Join(", ", list1));
// 람다식 정렬
var list2 = new List<DateTime>();
list2.AddRange(src);
list2.Sort((a, b) => a.CompareTo(b));
Console.WriteLine("[{0}]", string.Join(", ", list2));
// LINQ 정렬
var dst2 = src.OrderBy(a => a);
Console.WriteLine("[{0}]", string.Join(", ", dst2));
Console.ReadKey();
}
}
}
결과
[10/13/2018 00:00:00, 12/03/2018 00:00:00, 01/01/2019 00:00:00]
[10/13/2018 00:00:00, 12/03/2018 00:00:00, 01/01/2019 00:00:00]
[10/13/2018 00:00:00, 12/03/2018 00:00:00, 01/01/2019 00:00:00]
[10/13/2018 00:00:00, 12/03/2018 00:00:00, 01/01/2019 00:00:00]
예제 코드에는 Array.Sort, List.Sort, 람다식 정렬, LINQ 정렬을 작성해보았습니다.
요소가 DateTime의 경우에도 정렬이 되는 것을 볼 수 있습니다.
댓글