■ OrderBy 확장 메소드 : IComparer<T> 인터페이스를 사용해 정렬하기
------------------------------------------------------------------------------------------------------------------------
▶ Program.cs
using System; using System.Collections.Generic; using System.Linq;
namespace TestProject { /// <summary> /// 프로그램 /// </summary> class Program { //////////////////////////////////////////////////////////////////////////////////////////////////// Method ////////////////////////////////////////////////////////////////////////////////////////// Static //////////////////////////////////////////////////////////////////////////////// Private
#region 프로그램 시작하기 - Main()
/// <summary> /// 프로그램 시작하기 /// </summary> private static void Main() { // 소스 리스트를 설정한다. List<string> sourceList = new List<string>() { "Blair" , "Lane" , "Jessie", "Aiden", "Reggie", "Tanner", "Maddox", "Kerry" };
// 마지막 문자 비교자를 사용해 정렬한다. IEnumerable<string> resultEnumerable = sourceList.OrderBy ( source => source, new LastCharacterComparer() );
// 결과를 출력한다. foreach(var result in resultEnumerable) { Console.WriteLine(result); } }
#endregion } }
|
▶ LastCharacterComparer.cs
using System.Collections.Generic;
namespace TestProject { /// <summary> /// 마지막 문자 비교자 /// </summary> public class LastCharacterComparer : IComparer<string> { //////////////////////////////////////////////////////////////////////////////////////////////////// Method ////////////////////////////////////////////////////////////////////////////////////////// Public
#region 비교하기 - Compare(source1, source2)
/// <summary> /// 비교하기 /// </summary> /// <param name="source1">소스 문자열 1</param> /// <param name="source2">소스 문자열 2</param> /// <returns>비교 결과</returns> public int Compare(string source1, string source2) { return string.Compare ( source1[source1.Length - 1].ToString(), source2[source2.Length - 1].ToString() ); }
#endregion } }
|
------------------------------------------------------------------------------------------------------------------------
'C# > Common' 카테고리의 다른 글
[C#/COMMON] Concat 확장 메소드를 사용해 데이터 결합하기 (0) | 2019.11.21 |
---|---|
[C#/COMMON] Except 확장 메소드를 사용해 데이터 차집합 구하기 (0) | 2019.11.21 |
[C#/COMMON] Intersect 확장 메소드를 사용해 데이터 교집합 구하기 (0) | 2019.11.21 |
[C#/COMMON] group ... by 키워드 질의 형식을 사용해 그룹 목록 구하기 (0) | 2019.11.21 |
[C#/COMMON] GroupBy 확장 메소드를 사용해 그룹 목록 구하기 (0) | 2019.11.21 |
[C#/COMMON] OrderBy 확장 메소드 : IComparer<T> 인터페이스를 사용해 정렬하기 (0) | 2019.11.21 |
[C#/COMMON] Join 확장 메소드 사용하기 (0) | 2019.11.21 |
[C#/COMMON] SelectMany 확장 메소드를 사용해 데이터 조합하기 (0) | 2019.11.21 |
[C#/COMMON] Enumerable 클래스 : Range 정적 메소드를 사용해 특정 범위의 정수 열거 가능 목록 구하기 (0) | 2019.11.21 |
[C#/COMMON] Enumerable 클래스 : Where 정적 메소드를 사용해 조건을 충족하는 열거 가능형 목록 구하기 (0) | 2019.11.21 |
[C#/COMMON] 회문(Palindrome) 여부 구하기 (0) | 2019.11.20 |
댓글을 달아 주세요