如果可为空的 int 为空,如何设置值

How to set value if nullable int is null

我在模型中有可为空的 int,如果将 null 作为输入,是否可以将值设置为某个值,否则按原样设置传入值。

下面我试过了

public class MyRequest
    {
        private int? _quantity;

        public MyRequest()
        {
            Quantity = 1;
        }

        public int? Quantity
        {
            get => _quantity;
            set => _quantity = _quantity.IsNullOrDefault() ? Quantity : value;
        }

它总是给出 NULL。

如果 return 如果 Quantity 没有值,你想使用默认值,你可以尝试

public class MyRequest
{
    const int defaultQuantity = 1;
    private int? _quantity;

    public int? Quantity
    {
        get => _quantity.HasValue ? _quantity : defaultQuantity;
        set => _quantity = value;
    }
}