gpt4 book ai didi

c# - 方法包含默认参数值

转载 作者:太空宇宙 更新时间:2023-11-03 17:43:26 27 4
gpt4 key购买 nike

我想用2个参数在c#中定义一个函数,它们具有默认值,例如

    public T AccessEntity(string Id = null, string File = null)
{
return (from e in ServiceContext.CreateQuery<T>(TableName)
where e.RowKey == Id || e.File == File
select e).FirstOrDefault();
}


现在,使用此功能,用户可以按文件或id搜索记录,但是如果用户尝试按文件搜索记录,那么我们如何将第一个参数映射到第二个形式参数而不传递任何虚拟值作为第一个参数。

我不想要这样: invokingobj.AccessEntity(null, "name of file");

这可能吗 ?

最佳答案

您可以使用named arguments

invokingobj.AccessEntity(File: "name of file")


请注意,您应该将参数重命名为 file,以符合 normal .NET naming conventions的要求(“在参数名称中使用驼峰式大小写”)。

顺便说一句,几乎所有人(包括MSDN)都对这里的两个默认名称感到困惑。它们是可选参数(使用默认值修饰的参数),但具有命名参数(参数始终具有名称-在C#4中允许使用该名称指定参数)。

关于c# - 方法包含默认参数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11616378/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com