C#乱序参数函数调用—具名参数

最近Unity写一些管理类的时候,不免需要用到一些可选参数的函数,但是调用的时候必须要以顺序填写参数,导致需要用到后面参数的时候,就需要填写之前的参数,失去了“可选”的意义。

为此专门去找了下解决方法,最终找到具名参数调用的方式,特别记录一下。

public void A(int a , string b = "" , float c = 0)
{
    print(string.Format("a:{0} b:{1} c{2}", a, b, c));
}
public void B()
{
    //正常调用函数A
    A(0, "123", 1.0f);
    //具名参数调用函数A
    A(a: 0, b: "123", c: 1.0f);
    //具名参数乱序调用函数A
    A(c: 1.0f, a: 0, b: "123");
    //具名参数缺省调用函数A
    A(c: 1.0f, a: 0);
}