C#练习题答案: 自定义访问者【难度:1级】--景越C#经典编程题库,1000道C#基础练习题等你来挑战

自定义访问者【难度:1级】:

答案1:

namespace CustomAccessors 
{
  using System;
  
  public class NumericAccessor
  {
    private int _number;

    public int Number
    {
        get
        {
            return _number/2; 
        }
        set
        {
            if(value % 2 != 0) { throw new ArgumentException("value not divisble by 2");}
            _number = value;
        }
    }
  }
}

答案2:

namespace CustomAccessors 
{
  using System;
  
  public class NumericAccessor
  {
    private int _number;

    public int Number
    {
        get { return _number / 2; }
        set
        {
            if ((value & 1) == 1)
            {
              throw new ArgumentException(String.Format("{0} is not an even number", value));
            }
            else { _number = value; }
        }
    }
  }
}

答案3:

namespace CustomAccessors 
{
  using System;
  
  public class NumericAccessor
  {
    private int _number;

    public int Number
    {
        get
        {
            return _number / 2;
        }
        set
        {
            if(value % 2 == 0)
            {
              _number = value;
            }
            else
            {
              throw new ArgumentException();
            }
        }
    }
  }
}

答案4:

namespace CustomAccessors 
{
  using System;
  
  public class NumericAccessor
  {
        private int _number;

        public int Number {
            get {
                return _number / 2;
            }
            set {
                if (value % 2 == 0)
                    _number = value;
                else
                    throw new ArgumentException();
            }
        }
    }
  }

答案5:

namespace CustomAccessors 
{
  using System;
  
  public class NumericAccessor
  {
    private int _number;

    public int Number
    {
        get
        {
            return _number / 2;
        }
        set
        {
            if (value % 2 == 0)
            {
                _number = value;
            }
            else
            {
              throw new ArgumentException("");
            }
        }
    }
  }
}

答案6:

namespace CustomAccessors
{
    using System;
    public class NumericAccessor
    {
        private int _number;

        public int Number
        {
            get
            {
                return _number / 2;
            }
            set
            {
                if (value % 2 == 0)
                {
                    _number = value;
                }
                else
                {
                    throw new ArgumentException("value not divisble by 2");
                }
            }
        }
        ////
    }
}

答案7:

namespace CustomAccessors
{
    using System;
    public class NumericAccessor
    {
        private int _number;

        public int Number
        {
            get
            {
                return _number / 2;
            }
            set
            {
                if (0 == value % 2)
                {
                    _number = value;
                }
                else
                {
                    throw new ArgumentException("value not divisble by 2");
                }
                ////////
            }
        }
    }
}

答案8:

namespace CustomAccessors 
{
  using System;
  
  public class NumericAccessor
  {
    private int _number;

    public int Number
    {
        get => _number / 2;
        set => _number = value % 2 == 0 ? value : throw new ArgumentException("Value must be divisible by two");
    }
  }
}

答案9:

namespace CustomAccessors
{
    using System;

    public class NumericAccessor
    {
        private int _number;

        public int Number
        {
            get
            {
                return _number;
            }

            set
            {
                if (value % 2 == 0)
                {
                    _number = value / 2;
                }
                else
                {
                    throw new ArgumentException();
                }
            }
        }

        public int GetUnalteredNumber()
        {
            return _number * 2;
        }
    }
}

答案10:

namespace CustomAccessors 
{
  using System;
  
  public class NumericAccessor
  {
    private int _number;

    public int Number
    {
        get
        {
            return _number / 2;
        }
        set
        {
            if (value % 2 == 0)
                _number = value;
            else
                throw new ArgumentException("Not divisible by 2.");
        }
    }
  }
}

答案11:

namespace CustomAccessors 
{
  using System;
  
  public class NumericAccessor
  {
    private int _number;

    public int Number
    {
        get
        {
            return _number/2;
        }
        set
        {
            _number = value;
            if (value%2!=0)
              throw new ArgumentException();
        }
    }
  }
}

答案12:

namespace CustomAccessors 
{
  using System;
  
  public class NumericAccessor
  {
    private int _number;

    public int Number
    {
        get => _number / 2;
        set
        {
          if (value%2 == 0)
              _number = value ;
          else 
              throw new ArgumentException("Value not divisible by 2");
        }
    }
  }
}

你可能感兴趣的:(C#编程进阶练习)