C#

LINQ BinarySearch 사용법

지오준 2021. 7. 26.
반응형

BinarySearch는 컬렉션(List, Array, Dictionay)의 요소의 검색결과의 인덱스값을 확인할 때 사용합니다.

샘플코드는 10개의 숫자를 설정한 리스트에서 값이 72인 인덱스 값을 확인할 수 있습니다.

특이점은 검색조건의 값이 복수로 존재할 때도 한개의 인덱스 값만을 확인할 수 있는 점입니다.

// 검색용 리스트 생성
List<int> number = new List<int>();

// 숫자리스트에 값을 설정
for (int i = 1; i <= 10; i++)
{
	if (i == 8)
	{
		number.Add((i + 1) * i);
	}
	else
	{
		number.Add(i * i * 2);
	}
}

// 숫자리스트 출력
Console.WriteLine(" Query BinarySearch");
Console.WriteLine(string.Format("{0,10}", "Index") + "," + string.Format("{0,10}", "List Value"));
for (int i = 0; i < number.Count; i++)
{
	Console.WriteLine(string.Format("{0,10}", i) + "," + string.Format("{0,10}", number[i]));
}

// 숫자리스트에서 값이 72인 인덱스 값을 확인
int index = number.BinarySearch(72);

Console.WriteLine("");
Console.WriteLine(" List Value = 72 Index = " + index);

// 키를 누르기전까지는 실행함
Console.ReadKey();

결과값

LinqSample12.zip
0.18MB

반응형

'C#' 카테고리의 다른 글

LINQ Intersect 사용법  (0) 2021.07.28
LINQ Except 사용법  (0) 2021.07.27
LINQ Zip 사용법  (0) 2021.07.25
LINQ Concat 사용법  (0) 2021.07.24
LINQ Left Outer Join 사용법  (0) 2021.07.23

댓글