#c# #optional-arguments
#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. Метод 2 является новым в C # 4. Метод 1 существует со времен .NET 1.1.
2. @Этьен де Мартель, это должен быть ответ.
3. @vcsjones Я чувствовал, что это было слишком коротко, чтобы быть правильным ответом…
Ответ №1:
Метод 1 присутствовал начиная с .NET 1.1.
Метод 2 был введен с C # 4 (C # до этого не поддерживал необязательные параметры).