如何在 C# 中使用多个可选参数

How to use multiple optional parameters in C#

我有这样的方法:

public static void MyMethod(int a, String opt1 = null, byte[] opt2 = null)
{
//code 
} 

我想调用 MyMeythod 一次使用 opt1,一次使用 opt2;

MyMethod(3,"param"); 通话有效但

MyMethod(3,new byte[]); 不编译

有没有办法做到这一点,或者我应该显式地传递 opt1 null

使用姓名:

MyMethod(3, opt2: new byte[]);

在 C# 7.3 中,您还可以使用另一种排序方式:

MyMethod(opt2: new byte[] { }, a: 3)