C#扩展方法中的out参数

5
在一个扩展方法中,我收到一个错误提示,说我的“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;
}

1
你忘记为 index 参数添加类型(我认为应该是 int 类型)。 - Backs
你还忘记设置通过 index 返回的实际值。 - Enigmativity
2个回答

7

扩展方法可以使用输出参数。您需要指定输出参数的类型。因此,更改代码:

public static int customMax(this int[] data, out index)

to

public static int customMax(this int[] data, out int index)

它应该全部正常工作。


谢谢 - 我注意到这个问题并打算删除它,但你太快了! - Dimpl

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接