C#语法糖 可变参数 params

适用场景

同一个词语可以添加多个近义词

传递一个一维数组类型的参数

当集合参数个数不确定的时候是使用可变参数的最佳场景

举例

    private void Start()
    {
        GetHouse("Kitchen", "Bedroom", "Livingroom", "Bathroom");
    }

    private void GetHouse(params string[] rooms)
    {
        Debug.Log("I want a House with " + String.Join(", ", rooms));
    }

输出:

I want a House with Kitchen, Bedroom, Livingroom, Bathroom

其它

string.Format也是基于params实现的,毕竟Format具体的参数依赖于前面声明的字符串的占位符个数。在翻看相关代码的时候还发现了一个ParamsArray这个类,用来包装params可变参数,简单的来说就是便于快速操作params

注意:

params修饰在参数的前面且参数类型得是一维数组类型

params修饰的参数默认是可以不传递的

params参数不能用ref或out修饰且不能手动给默认值

浅谈 C# 可变参数 params

猜你喜欢

转载自blog.csdn.net/qq_42672770/article/details/123392804