Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C#

Xử lý collection rỗng với DefaultIfEmpty() trong C#

DefaultIfEmpty() trả về chuỗi gốc nếu không rỗng, ngược lại trả về chuỗi chứa một phần tử mặc định (default(T)). Tránh lỗi khi truy vấn collection rỗng.

Ví dụ minh họa

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

class Demo
{
    static void Main()
    {
        List<float> myList = new List<float>();
        var res = myList.DefaultIfEmpty();

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

Kết quả đầu ra

0

Overload: DefaultIfEmpty(defaultValue) - chỉ định giá trị mặc định tùy chỉnh thay vì default(T).

Ứng dụng: Left outer join trong LINQ: from a in left join b in right on a.Id equals b.Id into gj from sub in gj.DefaultIfEmpty() select ...