C#_ Unity Game programming

C# - Linq의 FirstOrDefault 메서드

doyyy_0 2024. 4. 16. 16:37

FirstOrDefault는 C# 프로그래밍 언어의 LINQ (Language Integrated Query) 라이브러리에서 사용되는 메서드 중 하나입니다. 이 함수는 시퀀스(예: 리스트, 배열 등)에서 조건을 만족하는 첫 번째 요소를 반환하거나, 조건을 만족하는 요소가 없을 경우 기본값을 반환합니다.

- 사용 방법

FirstOrDefault 메서드는 기본적으로 두 가지 형태로 사용됩니다:

  1. 조건 없이 사용하기: 시퀀스의 첫 번째 요소를 반환하거나, 시퀀스가 비어 있으면 기본값을 반환합니다.
  2. 조건을 지정하여 사용하기: 주어진 조건을 만족하는 첫 번째 요소를 반환하거나, 해당 조건을 만족하는 요소가 없으면 기본값을 반환합니다.

- 예제 코드

List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };

// 조건 없이 사용
int firstOrDefault = numbers.FirstOrDefault();  // 결과는 1

// 조건을 지정하여 사용
int firstOrDefaultEven = numbers.FirstOrDefault(x => x % 2 == 0);  // 결과는 2

 

만약 리스트 numbers가 비어 있으면 firstOrDefault의 값은 int의 기본값인 0이 됩니다. 조건을 지정한 경우에는 해당 조건을 만족하는 첫 번째 요소를 찾지 못하면 역시 int의 기본값인 0을 반환합니다.

- 기본값

기본값은 요소의 타입에 따라 결정됩니다. 값 타입(Value Type)의 경우에는 해당 타입의 기본값 (예: int의 경우 0, bool의 경우 false)이고, 참조 타입(Reference Type)의 경우에는 null입니다.

- 사용 시 주의사항

  • FirstOrDefault는 조건을 만족하는 첫 번째 요소만을 찾으므로, 동일 조건을 만족하는 다른 요소가 더 있더라도 무시됩니다.

즉, FirstOrDefault 메서드는 데이터를 필터링하고 특정 조건에 맞는 요소를 빠르게 찾고자 할 때 유용하게 사용될 수 있습니다.