ระบุอาร์กิวเมนต์ที่ไม่จําเป็นสําหรับอาร์กิวเมนต์โครงสร้าง

วันที่สร้างเพจ :

อาร์กิวเมนต์ที่เป็นทางเลือกช่วยให้คุณสามารถให้ค่าเริ่มต้นกับอาร์กิวเมนต์ได้โดยไม่โหลดเมธอดที่มีอาร์กิวเมนต์จํานวนแตกต่างกัน

อย่างไรก็ตาม เฉพาะค่าคงที่เช่น "10", "ตัวอย่าง" และ "null" สามารถระบุเป็นอาร์กิวเมนต์ไม่จําเป็น และคุณไม่สามารถระบุค่าที่สร้างขึ้นในใหม่ หรือกําหนด โดย readonly แบบคงที่ที่ถูกกําหนดเมื่อโปรแกรมรัน

ถ้าโครงสร้างเป็นอาร์กิวเมนต์ ตัวอย่างเช่น ถ้าชนิดเป็น IntPtr คุณไม่สามารถระบุ IntPtr.Zero เป็นค่าเริ่มต้น ไม่สามารถระบุ 0 และไม่สามารถเป็น null ได้เนื่องจากเป็นโครงสร้าง (Nullable ช่วยให้คุณสามารถระบุค่า null แต่ไม่รวมเนื่องจากชนิดของอาร์กิวเมนต์เปลี่ยนแปลง)

คุณสามารถใช้ "default(T) เพื่อใช้โครงสร้างเป็นอาร์กิวเมนต์ที่ไม่จําเป็น) ค่านี้เท่ากับค่าที่สร้างขึ้นด้วย T() ใหม่

public void DoAction(IntPtr handle = default(IntPtr))
{
  // 処理
}

คุณสามารถระบุได้เพียง 0 หรือ null สําหรับแต่ละค่าในโครงสร้าง ดังนั้นเกินวิธีการถ้าคุณต้องการให้ค่าเริ่มต้นแยกต่างหาก