":"在搜索中的含义是什么(name,onlyActive:true)?

dga*_*dga 3 c# parameters syntax arguments

我有这个方法,我不明白..我试着寻找它,但因为我真的不知道要搜索什么我没找到任何东西.

有人可以向我解释一下吗?

    public List<listElementType> Search(string name,
    bool onlyActive = true,
    bool onlyDeleted = true,
    decimal from = 0,
    decimal to = decimal.MaxValue)
    {
    // Some SQL stuff
    return ...;
    }
Run Code Online (Sandbox Code Playgroud)

为什么我可以像标题中提到的那样使用它?

    Search(name, onlyActive: true);
Run Code Online (Sandbox Code Playgroud)

Dan*_*mms 5

它是一个命名参数,它Searchname = name和调用方法onlyActive = true.

它实际上与调用完全相同

Search(name);
Run Code Online (Sandbox Code Playgroud)

您可以在方法上使用它们来指定要更改的参数,从而有效地允许我们跳过默认参数.例如:

Search(name, from: 1, to: 2);
Run Code Online (Sandbox Code Playgroud)