Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C#에서 빈 컬렉션 처리하기: DefaultIfEmpty() 메서드 완벽 가이드

C#에서 빈 컬렉션을 다룰 때는 LINQ에서 제공하는 DefaultIfEmpty() 메서드를 활용하면 됩니다.

일반적으로 배열이나 리스트가 비어 있으면 반복 처리 과정에서 아무런 결과를 얻지 못하거나, 후속 연산에서 예외가 발생할 수 있습니다. 하지만 DefaultIfEmpty() 메서드를 사용하면 오류가 발생하는 대신 해당 데이터 타입의 기본값(default value)을 자동으로 반환합니다. 예를 들어 숫자 타입(float, int 등)이라면 0, 참조 타입이라면 null이 반환됩니다.

빈 리스트 준비하기

먼저 요소가 하나도 없는 빈 리스트를 만들어 보겠습니다.

List<float> myList = new List<float>();

DefaultIfEmpty() 메서드 적용

이제 DefaultIfEmpty() 메서드를 호출하여 기본값을 화면에 출력해 보겠습니다.

var res = myList.DefaultIfEmpty();

리스트가 비어 있으므로 이 메서드는 float 타입의 기본값인 0을 담은 시퀀스를 반환합니다.

전체 예제 코드

using System;
using System.Linq;
using System.Collections.Generic;

class Demo {
    static void Main() {
        // 요소가 없는 빈 리스트 생성
        List<float> myList = new List<float>();

        // DefaultIfEmpty()로 기본값 처리
        var res = myList.DefaultIfEmpty();

        foreach (var a in res) {
            Console.WriteLine(a);
        }
    }
}

실행 결과

0

추가 팁: 원하는 기본값 직접 지정하기

DefaultIfEmpty()는 매개변수 없이 호출하면 타입의 기본값을 반환하지만, 인자를 전달하면 원하는 값을 기본값으로 지정할 수도 있습니다.

// 빈 경우 -1을 기본값으로 반환
var res = myList.DefaultIfEmpty(-1);

이처럼 DefaultIfEmpty() 메서드를 사용하면 빈 컬렉션으로 인한 오류나 예외 상황을 간단하고 안전하게 처리할 수 있습니다.