Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

เมธอด Linq LastOrDefault ใน C#


ภาพรวม

เมธอด LastOrDefault() ใน LINQ คืนค่า องค์ประกอบสุดท้าย ของลำดับ หากลำดับว่าง จะคืนค่า ค่าเริ่มต้น (default value) ของชนิดข้อมูล แทนที่จะโยน Exception

รูปแบบการใช้งาน

List emptyList = new List();
double last = emptyList.AsQueryable().LastOrDefault(); // 0.0 (default of double)

ตัวอย่างโค้ดเต็ม

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

class Demo
{
    static void Main()
    {
        List val = new List(); // ว่าง
        double d = val.AsQueryable().LastOrDefault();
        Console.WriteLine("Default Value = " + d); // 0
        if (d == 0.0D)
        {
            d = 0.1D;
        }
        Console.WriteLine("Default Value changed = " + d); // 0.1
    }
}

ผลลัพธ์

Default Value = 0
Default Value changed = 0.1

ความแตกต่าง Last vs LastOrDefault

เมธอดลำดับว่างมีข้อมูล
Last()โยน InvalidOperationExceptionคืนองค์ประกอบสุดท้าย
LastOrDefault()คืน default(T)คืนองค์ประกอบสุดท้าย

ค่าเริ่มต้น (default values)

  • ชนิดตัวเลข: 0
  • bool: false
  • ชนิดอ้างอิง (string, class, array): null
  • struct: struct ที่ทุกฟิลด์เป็นค่าเริ่มต้น