C # Optionaler Array-Parameter für Klasse

Ich weiß, dass dies mit @ gemacht werden kanull Also habe ich eine Problemumgehung dafür, aber ich habe mich gefragt, ob es einen besseren Weg gibt, wie ich ein optionales @ haben kanint[] Parameter für eine Klasse?

class PriceLevels
{
    public int[] priceLevels { get; }
    private readonly int[] defaultPriceLevels = { 2, 3, 3, 4, 5, 6 };

    public PriceLevels(int[] newPriceLevels = defaultPriceLevels)
    {
        priceLevels = newPriceLevels;
    }
}

Dies gibt mir einen Fehler, der besagt, dass es sich um einen ungültigen Ausdruck handeltdefaultPriceLevels muss konstant sein. Wie kann ich das beheben?

Eine Umgehung, an der ich etwas ändern kann, ist diese, aber die Lösung gefällt mir nicht wirklich

class PriceLevels
{
    public int[] priceLevels { get; }
    private readonly int[] defaultPriceLevels = { 2, 3, 3, 4, 5, 6 };

    public PriceLevels(int[] newPriceLevels = null)
    {
        if(newPriceLevels == null) 
            priceLevels = defaultPriceLevels;
        else 
            priceLevels = newPriceLevels;
    }
}

Antworten auf die Frage(12)

Ihre Antwort auf die Frage