What is the ?[]? syntax in C#?

Step by step explanation:

params Delegate?[] delegates – It is an array of nullable Delegate

params Delegate?[]? delegates – The entire array can be nullable

Since each parameter is of the type Delegate? and you return an index of the Delegate?[]? array, then it makes sense that the return type is Delegate? otherwise the compiler would return an error as if you were returing and int from a method that returns a string.

You could change for instance your code to return a Delegate type like this:

public static Delegate Combine(params Delegate?[]? delegates)
{
    Delegate defaulDelegate = // someDelegate here
    if (delegates == null || delegates.Length == 0)
        return defaulDelegate;

    Delegate d = delegates[0] ?? defaulDelegate;
    for (int i = 1; i < delegates.Length; i++)
        d = Combine(d, delegates[i]);

    return d;
}

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)