Метод 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 меньше и не требует импорта.
Должен ли я рассмотреть что-то перед использованием одного из этих методов синтаксиса?