gpt4 book ai didi

c# - 尝试将 ref 添加到重载方法的参数时出错

转载 作者:行者123 更新时间:2023-11-30 19:29:29 27 4
gpt4 key购买 nike

<分区>

当我尝试将 ref 添加到重载方法的参数时,为什么会出现以下错误?

The best overloaded method match for 'WindowsFormsApplication1.Form1.SearchProducts(int)' has some invalid arguments

Argument 1: cannot convert from 'ref System.Collections.Generic.List' to 'int'

这是一些(简化的)代码:

public virtual IList<int> SearchProducts(int categoryId)
{
List<int> categoryIds = new List<int>();
if (categoryId > 0)
categoryIds.Add(categoryId);
return SearchProducts(ref categoryIds);
}

public virtual IList<int> SearchProducts(ref IList<int> categoryIds)
{
return new List<int>();
}

编辑:

有些人问我为什么在这种情况下需要 ref ,答案是我可能不需要它,因为我可以清除列表并添加新元素(我不需要需要创建一个新的引用)。但问题不在于我需要或不需要 ref 的事实,而是关于我为什么会收到错误的原因。由于我没有找到答案(在谷歌搜索了一会儿之后),我认为这个问题很有趣,值得在这里问。似乎你们中的一些人认为这不是一个好问题并投票决定将其关闭......

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