Указання додаткових аргументів на аргументи структури

Дата створення сторінки :

Необов'язкові аргументи дозволяють дати початкове значення аргументу без перевантаження методу з різною кількістю аргументів.

Однак, лише константи, такі як "10", "зразок" і "Null" можна вказати як необов'язкові аргументи, і не можна вказати значення, яке було створено новий або визначається статичні читання, який визначається під час запуску програми.

Те ж саме вірно, якщо структура є аргументом. Наприклад, якщо тип IntPtr, не можна вказати IntPtr. нуль як початкове значення. Він не може вказувати 0, і він не може бути пустим, оскільки він є структурою. (За допомогою Null можна вказати Null, але не виключає, оскільки тип аргументу змінюється).

Ви можете використовувати "за замовчуванням (T)" для використання структури як необов'язковий аргумент.) Це еквівалентно значення, створене за допомогою нового T ().

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

Ви можете вказати лише 0 або Null для кожного значення в структурі, так що перевантаження методу, якщо ви хочете дати початкове значення окремо.