ภาพรวม
เมธอด LastOrDefault() ใน LINQ คืนค่า องค์ประกอบสุดท้าย ของลำดับ หากลำดับว่าง จะคืนค่า ค่าเริ่มต้น (default value) ของชนิดข้อมูล แทนที่จะโยน Exception
รูปแบบการใช้งาน
ListemptyList = 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 ที่ทุกฟิลด์เป็นค่าเริ่มต้น