我正在使用第一次可选参数,但我无法理解这两种方法定义之间的区别:
private void method1([Optional, DefaultParameterValue(string.Empty)] string testString)
{
//do something
}
private void method2(string testString = "")
{
//do something
}
method1的定义需要:
using System.Runtime.InteropServices;
Method2定义较小,无需导入。
在使用其中一种方法语法之前,我是否要考虑一下?
答案 0 :(得分:3)
方法1自.NET 1.1以来就存在。
方法2是在C#4中引入的(C#在此之前不支持可选参数)。