Beispiel #1
0
        /// <summary>
        /// 减值,如果成功输出计算后的数值
        /// </summary>
        /// <param name="number">ThresholdNumber对象</param>
        /// <param name="value">要减的差量数值。</param>
        /// <param name="newValue">输出减后的数值。</param>
        /// <returns>如果成功返回true,否则返回false。</returns>
        public static Boolean TrySubtract(this ThresholdNumber <Int16> number, Int16 value, out Int16 newValue)
        {
            Int16 oldValue;

            if (number.TryExchange(Convert.ToInt16(number.Value - value), out oldValue) == false)
            {
                newValue = oldValue;
                return(false);
            }
            else
            {
                newValue = Convert.ToInt16(oldValue - value);
                return(true);
            }
        }
Beispiel #2
0
        /// <summary>
        /// 减值,如果成功输出计算后的数值
        /// </summary>
        /// <param name="number">ThresholdNumber对象</param>
        /// <param name="value">要减的差量数值。</param>
        /// <param name="newValue">输出减后的数值。</param>
        /// <returns>如果成功返回true,否则返回false。</returns>
        public static Boolean TrySubtract(this ThresholdNumber <Int32> number, Int32 value, out Int32 newValue)
        {
            Int32 oldValue;

            if (number.TryExchange(number.Value - value, out oldValue) == false)
            {
                newValue = oldValue;
                return(false);
            }
            else
            {
                newValue = oldValue - value;
                return(true);
            }
        }
Beispiel #3
0
        /// <summary>
        ///  尝试减量数值,如果成功输出减量后的数值
        /// </summary>
        /// <param name="number">ThresholdNumber对象</param>
        /// <param name="value">输出减量后的数值</param>
        /// <returns>返回成功则返回true,否则返回false。</returns>
        public static Boolean TryDecrement(this ThresholdNumber <UInt32> number, out UInt32 value)
        {
            UInt32 oldValue;

            if (number.TryExchange(number.Value - 1, out oldValue) == false)
            {
                value = oldValue;
                return(false);
            }
            else
            {
                value = oldValue - 1;
                return(true);
            }
        }
 public static void Test()
 {
     try
     {
         ThresholdNumber <Int32> number = new ThresholdNumber <Int32>(10, 0, 0);
         number.Increment();
         number.Decrement();
         number.Add(10);
         number.Subtract(-1);
     }
     catch (Exception ex)
     {
         Console.WriteLine(ex.Message);
     }
 }
Beispiel #5
0
        /// <summary>
        ///  尝试减量数值,如果成功输出减量后的数值
        /// </summary>
        /// <param name="number">ThresholdNumber对象</param>
        /// <param name="value">输出减量后的数值</param>
        /// <returns>返回成功则返回true,否则返回false。</returns>
        public static Boolean TryDecrement(this ThresholdNumber <UInt16> number, out UInt16 value)
        {
            UInt16 oldValue;

            if (number.TryExchange(Convert.ToUInt16(number.Value - 1), out oldValue) == false)
            {
                value = oldValue;
                return(false);
            }
            else
            {
                value = Convert.ToUInt16(oldValue - 1);
                return(true);
            }
        }
Beispiel #6
0
        /// <summary>
        /// 加值,如果成功输出计算后的数值
        /// </summary>
        /// <param name="number">ThresholdNumber对象</param>
        /// <param name="value">要增加的差量数值。</param>
        /// <param name="newValue">输出增加后的数值。</param>
        /// <returns>如果成功返回true,否则返回false。</returns>
        public static Boolean TryAdd(this ThresholdNumber <Byte> number, Byte value, out Byte newValue)
        {
            Byte oldValue;

            if (number.TryExchange(Convert.ToByte(number.Value + value), out oldValue) == false)
            {
                newValue = oldValue;
                return(false);
            }
            else
            {
                newValue = Convert.ToByte(oldValue + value);
                return(true);
            }
        }
Beispiel #7
0
        /// <summary>
        /// 减值,如果成功输出计算后的数值
        /// </summary>
        /// <param name="number">ThresholdNumber对象</param>
        /// <param name="value">要减的差量数值。</param>
        /// <param name="newValue">输出减后的数值。</param>
        /// <returns>如果成功返回true,否则返回false。</returns>
        public static Boolean TrySubtract(this ThresholdNumber <Single> number, Single value, out Single newValue)
        {
            Single oldValue;

            if (number.TryExchange(number.Value - value, out oldValue) == false)
            {
                newValue = oldValue;
                return(false);
            }
            else
            {
                newValue = oldValue - value;
                return(true);
            }
        }
Beispiel #8
0
        /// <summary>
        ///  尝试减量数值,如果成功输出减量后的数值
        /// </summary>
        /// <param name="number">ThresholdNumber对象</param>
        /// <param name="value">输出减量后的数值</param>
        /// <returns>返回成功则返回true,否则返回false。</returns>
        public static Boolean TryDecrement(this ThresholdNumber <Byte> number, out Byte value)
        {
            Byte oldValue;

            if (number.TryExchange(Convert.ToByte(number.Value - 1), out oldValue) == false)
            {
                value = oldValue;
                return(false);
            }
            else
            {
                value = Convert.ToByte(oldValue - 1);
                return(true);
            }
        }
Beispiel #9
0
        /// <summary>
        /// 加值,如果成功输出计算后的数值
        /// </summary>
        /// <param name="number">ThresholdNumber对象</param>
        /// <param name="value">要增加的差量数值。</param>
        /// <param name="newValue">输出增加后的数值。</param>
        /// <returns>如果成功返回true,否则返回false。</returns>
        public static Boolean TryAdd(this ThresholdNumber <UInt32> number, UInt32 value, out UInt32 newValue)
        {
            UInt32 oldValue;

            if (number.TryExchange(number.Value + value, out oldValue) == false)
            {
                newValue = oldValue;
                return(false);
            }
            else
            {
                newValue = oldValue + value;
                return(true);
            }
        }
Beispiel #10
0
        /// <summary>
        ///  尝试减量数值,如果成功输出减量后的数值
        /// </summary>
        /// <param name="number">ThresholdNumber对象</param>
        /// <param name="value">输出减量后的数值</param>
        /// <returns>返回成功则返回true,否则返回false。</returns>
        public static Boolean TryDecrement(this ThresholdNumber <Single> number, out Single value)
        {
            Single oldValue;

            if (number.TryExchange(number.Value - 1, out oldValue) == false)
            {
                value = oldValue;
                return(false);
            }
            else
            {
                value = oldValue - 1;
                return(true);
            }
        }
Beispiel #11
0
        /// <summary>
        /// 加值,如果成功输出计算后的数值
        /// </summary>
        /// <param name="number">ThresholdNumber对象</param>
        /// <param name="value">要增加的差量数值。</param>
        /// <param name="newValue">输出增加后的数值。</param>
        /// <returns>如果成功返回true,否则返回false。</returns>
        public static Boolean TryAdd(this ThresholdNumber <UInt16> number, UInt16 value, out UInt16 newValue)
        {
            UInt16 oldValue;

            if (number.TryExchange(Convert.ToUInt16(number.Value + value), out oldValue) == false)
            {
                newValue = oldValue;
                return(false);
            }
            else
            {
                newValue = Convert.ToUInt16(oldValue + value);
                return(true);
            }
        }
Beispiel #12
0
        /// <summary>
        /// 加值,如果成功输出计算后的数值
        /// </summary>
        /// <param name="number">ThresholdNumber对象</param>
        /// <param name="value">要增加的差量数值。</param>
        /// <param name="newValue">输出增加后的数值。</param>
        /// <returns>如果成功返回true,否则返回false。</returns>
        public static Boolean TryAdd(this ThresholdNumber <Int64> number, Int64 value, out Int64 newValue)
        {
            Int64 oldValue;

            if (number.TryExchange(number.Value + value, out oldValue) == false)
            {
                newValue = oldValue;
                return(false);
            }
            else
            {
                newValue = oldValue + value;
                return(true);
            }
        }
Beispiel #13
0
        /// <summary>
        ///  尝试增量数值,如果成功输出增量后的数值
        /// </summary>
        /// <param name="number">ThresholdNumber对象</param>
        /// <param name="value">输出增量后的数值</param>
        /// <returns>返回成功则返回true,否则返回false。</returns>
        public static Boolean TryIncrement(this ThresholdNumber <Double> number, out Double value)
        {
            Double oldValue;

            if (number.TryExchange(number.Value + 1, out oldValue) == false)
            {
                value = oldValue;
                return(false);
            }
            else
            {
                value = oldValue + 1;
                return(true);
            }
        }
Beispiel #14
0
        /// <summary>
        /// 减值,如果成功输出计算后的数值
        /// </summary>
        /// <param name="number">ThresholdNumber对象</param>
        /// <param name="value">要减的差量数值。</param>
        /// <param name="newValue">输出减后的数值。</param>
        /// <returns>如果成功返回true,否则返回false。</returns>
        public static Boolean TrySubtract(this ThresholdNumber <UInt64> number, UInt64 value, out UInt64 newValue)
        {
            UInt64 oldValue;

            if (number.TryExchange(number.Value - value, out oldValue) == false)
            {
                newValue = oldValue;
                return(false);
            }
            else
            {
                newValue = oldValue - value;
                return(true);
            }
        }
Beispiel #15
0
        /// <summary>
        /// 加值,如果成功输出计算后的数值
        /// </summary>
        /// <param name="number">ThresholdNumber对象</param>
        /// <param name="value">要增加的差量数值。</param>
        /// <param name="newValue">输出增加后的数值。</param>
        /// <returns>如果成功返回true,否则返回false。</returns>
        public static Boolean TryAdd(this ThresholdNumber <Double> number, Double value, out Double newValue)
        {
            Double oldValue;

            if (number.TryExchange(number.Value + value, out oldValue) == false)
            {
                newValue = oldValue;
                return(false);
            }
            else
            {
                newValue = oldValue + value;
                return(true);
            }
        }
Beispiel #16
0
 /// <summary>
 ///  增量数值,如果成功返回增量后的数值
 /// </summary>
 /// <param name="number">ThresholdNumber对象</param>
 /// <returns>返回增量后的数值</returns>
 /// <exception cref="System.ArgumentOutOfRangeException">ThresholdNumber is out of range.</exception>
 public static Int16 Increment(this ThresholdNumber <Int16> number)
 {
     return(Convert.ToInt16(number.Exchange(Convert.ToInt16(number.Value + 1)) + 1));
 }
Beispiel #17
0
 /// <summary>
 /// 加值,如果成功返回计算后的数值
 /// </summary>
 /// <param name="number">ThresholdNumber对象</param>
 /// <param name="value">要增加的差量数值。</param>
 /// <returns>返回计算后的新数值。</returns>
 public static Single Add(this ThresholdNumber <Single> number, Single value)
 {
     return(number.Exchange(number.Value + value) + value);
 }
Beispiel #18
0
 /// <summary>
 /// 加值,如果成功返回计算后的数值
 /// </summary>
 /// <param name="number">ThresholdNumber对象</param>
 /// <param name="value">要增加的差量数值。</param>
 /// <returns>返回计算后的新数值。</returns>
 public static Byte Add(this ThresholdNumber <Byte> number, Byte value)
 {
     return(Convert.ToByte(number.Exchange(Convert.ToByte(number.Value + value)) + value));
 }
Beispiel #19
0
 /// <summary>
 /// 加值,如果成功返回计算后的数值
 /// </summary>
 /// <param name="number">ThresholdNumber对象</param>
 /// <param name="value">要增加的差量数值。</param>
 /// <returns>返回计算后的新数值。</returns>
 public static UInt16 Add(this ThresholdNumber <UInt16> number, UInt16 value)
 {
     return(Convert.ToUInt16(number.Exchange(Convert.ToUInt16(number.Value + value)) + value));
 }
Beispiel #20
0
 /// <summary>
 /// 加值,如果成功返回计算后的数值
 /// </summary>
 /// <param name="number">ThresholdNumber对象</param>
 /// <param name="value">要增加的差量数值。</param>
 /// <returns>返回计算后的新数值。</returns>
 public static UInt32 Add(this ThresholdNumber <UInt32> number, UInt32 value)
 {
     return(number.Exchange(number.Value + value) + value);
 }
Beispiel #21
0
 /// <summary>
 /// 加值,如果成功返回计算后的数值
 /// </summary>
 /// <param name="number">ThresholdNumber对象</param>
 /// <param name="value">要增加的差量数值。</param>
 /// <returns>返回计算后的新数值。</returns>
 public static Int64 Add(this ThresholdNumber <Int64> number, Int64 value)
 {
     return(number.Exchange(number.Value + value) + value);
 }
Beispiel #22
0
 /// <summary>
 /// 减量数值,如果成功返回减量后的数值
 /// </summary>
 /// <param name="number">ThresholdNumber对象</param>
 /// <returns>返回减量后的数值</returns>
 /// <exception cref="System.ArgumentOutOfRangeException">ThresholdNumber is out of range.</exception>
 public static Single Decrement(this ThresholdNumber <Single> number)
 {
     return(number.Exchange(number.Value - 1) - 1);
 }
Beispiel #23
0
 /// <summary>
 ///  减量数值,如果成功返回减量后的数值
 /// </summary>
 /// <param name="number">ThresholdNumber对象</param>
 /// <returns>返回减量后的数值</returns>
 /// <exception cref="System.ArgumentOutOfRangeException">ThresholdNumber is out of range.</exception>
 public static Byte Decrement(this ThresholdNumber <Byte> number)
 {
     return(Convert.ToByte(number.Exchange(Convert.ToByte(number.Value - 1)) - 1));
 }
Beispiel #24
0
 /// <summary>
 ///  减量数值,如果成功返回减量后的数值
 /// </summary>
 /// <param name="number">ThresholdNumber对象</param>
 /// <returns>返回减量后的数值</returns>
 /// <exception cref="System.ArgumentOutOfRangeException">ThresholdNumber is out of range.</exception>
 public static UInt16 Decrement(this ThresholdNumber <UInt16> number)
 {
     return(Convert.ToUInt16(number.Exchange(Convert.ToUInt16(number.Value - 1)) - 1));
 }
Beispiel #25
0
 /// <summary>
 ///  减量数值,如果成功返回减量后的数值
 /// </summary>
 /// <param name="number">ThresholdNumber对象</param>
 /// <returns>返回减量后的数值</returns>
 /// <exception cref="System.ArgumentOutOfRangeException">ThresholdNumber is out of range.</exception>
 public static UInt32 Decrement(this ThresholdNumber <UInt32> number)
 {
     return(number.Exchange(number.Value - 1) - 1);
 }
Beispiel #26
0
 /// <summary>
 ///  减量数值,如果成功返回减量后的数值
 /// </summary>
 /// <param name="number">ThresholdNumber对象</param>
 /// <returns>返回减量后的数值</returns>
 /// <exception cref="System.ArgumentOutOfRangeException">ThresholdNumber is out of range.</exception>
 public static Int64 Decrement(this ThresholdNumber <Int64> number)
 {
     return(number.Exchange(number.Value - 1) - 1);
 }
Beispiel #27
0
 /// <summary>
 ///  增量数值,如果成功返回增量后的数值
 /// </summary>
 /// <param name="number">ThresholdNumber对象</param>
 /// <returns>返回增量后的数值</returns>
 /// <exception cref="System.ArgumentOutOfRangeException">ThresholdNumber is out of range.</exception>
 public static Int32 Increment(this ThresholdNumber <Int32> number)
 {
     return(number.Exchange(number.Value + 1) + 1);
 }
Beispiel #28
0
 /// <summary>
 /// 增量数值,如果成功返回增量后的数值
 /// </summary>
 /// <param name="number">ThresholdNumber对象</param>
 /// <returns>返回增量后的数值</returns>
 /// <exception cref="System.ArgumentOutOfRangeException">ThresholdNumber is out of range.</exception>
 public static Double Increment(this ThresholdNumber <Double> number)
 {
     return(number.Exchange(number.Value + 1) + 1);
 }
Beispiel #29
0
 /// <summary>
 /// 减值,如果成功返回计算后的数值
 /// </summary>
 /// <param name="number">ThresholdNumber对象</param>
 /// <param name="value">要减的差量数值。</param>
 /// <returns>返回计算后的新数值。</returns>
 public static Single Subtract(this ThresholdNumber <Single> number, Single value)
 {
     return(number.Exchange(number.Value - value) - value);
 }
Beispiel #30
0
 /// <summary>
 ///  增量数值,如果成功返回增量后的数值
 /// </summary>
 /// <param name="number">ThresholdNumber对象</param>
 /// <returns>返回增量后的数值</returns>
 /// <exception cref="System.ArgumentOutOfRangeException">ThresholdNumber is out of range.</exception>
 public static UInt64 Increment(this ThresholdNumber <UInt64> number)
 {
     return(number.Exchange(number.Value + 1) + 1);
 }