Я знаю, что это можно сделать с помощью null
, поэтому у меня есть обходной путь для этого, но мне было интересно, есть ли лучший способ, которым у меня может быть необязательный параметр int[]
для класса?
class PriceLevels
{
public int[] priceLevels { get; }
private readonly int[] defaultPriceLevels = { 2, 3, 3, 4, 5, 6 };
public PriceLevels(int[] newPriceLevels = defaultPriceLevels)
{
priceLevels = newPriceLevels;
}
}
Это дает мне ошибку, говоря, что это недопустимое выражение defaultPriceLevels
должно быть постоянным. Как я могу это исправить?
Обходным решением, которое я могу сделать, это, но мне не очень нравится решение
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;
}
}