扩展方法中的C#out参数

Dim*_*mpl 4 c# extension-methods out

在扩展方法中,我收到一个错误,指出我的“ 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;
}
Run Code Online (Sandbox Code Playgroud)

dot*_*tom 5

扩展方法可以包含参数。您需要指定out参数的类型。因此更改代码

public static int customMax(this int[] data, out index)
Run Code Online (Sandbox Code Playgroud)

public static int customMax(this int[] data, out int index)
Run Code Online (Sandbox Code Playgroud)

而且应该都可以