我知道可以使用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;
}
}
priceLevels
属性没有设置器? - Salah AkbaripriceLevels
(因此默认值作为回退),那么这是有效的。 - Michael McMullin