Метод 2 был представлен в C # 4 (C # до тех пор не поддерживал необязательные параметры).

рвые использую необязательные аргументы, но не могу понять разницу между этими двумя определениями методов:

private void method1([Optional, DefaultParameterValue(string.Empty)] string testString)
{
    //do something
}

private void method2(string testString = "")
{
    //do something
}

Для определения method1 необходимо:

using System.Runtime.InteropServices;

Определение Method2 меньше и не требует импорта.

Должен ли я рассмотреть что-то перед использованием одного из этих методов синтаксиса?

Ответы на вопрос(1)

Ваш ответ на вопрос