首页 > 解决方案 > 如果可为空的 int 为空,如何设置值

问题描述

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

我在下面试过

public class MyRequest
    {
        private int? _quantity;

        public MyRequest()
        {
            Quantity = 1;
        }

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

它总是给出NULL。

标签: asp.net-corec#-4.0

解决方案


如果您想在没有值的情况下返回默认值Quantity,您可以尝试

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

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

推荐阅读