c#扩展方法中的out参数
本文关键字:out 参数 扩展 方法 | 更新日期: 2023-09-27 18:09:13
在扩展方法中,我收到一个错误,我的'out'参数在当前上下文中不存在。我认为这意味着扩展方法不能有'out'参数,但这在文档中没有指定。如果有人能澄清一下,我会很感激的!
public static int customMax(this int[] data, out index)
{
int max = data[0];
index = 0;
for (int i = 1; i < data.Length; i++) {
if (data[i] > max) {
max = data[i];
}
}
return max;
}
扩展方法可以有我们的参数。您需要指定out参数的类型。因此更改代码
public static int customMax(this int[] data, out index)
public static int customMax(this int[] data, out int index)
应该都可以
您错过了在out
参数上指定类型。它应该是:
public static int customMax(this int[] data, out int index)
有一些猜想你可能会对另一个问题感兴趣,关于做这种事情的可读性。不可能在扩展方法中使用ref和out作为第一个("this")参数?