示例#1
0
        /// <summary>
        /// A percentageArray with only one value
        /// </summary>
        /// <param name="value"></param>
        /// <returns></returns>
        public static PercentageArray <T> Singleton(T value)
        {
            PercentageArray <T> array = new PercentageArray <T>(1);

            array[0] = new PercentageElement <T>(0, value);
            return(array);
        }
示例#2
0
        /// <summary>
        /// A percentage array with certain values. The percentages are evenly spaced.
        /// </summary>
        /// <param name="values"></param>
        /// <returns></returns>
        public static PercentageArray <T> FromArray(T[] values)
        {
            PercentageArray <T> array = new PercentageArray <T>(values.Length);

            for (int i = 0; i < values.Length; i++)
            {
                array[i] = new PercentageElement <T>(100 * i / (values.Length - 1), values[i]);
            }
            return(array);
        }
示例#3
0
        /// <summary>
        /// A percentage array with percentages and values
        /// </summary>
        /// <param name="values">Params in the form: Pct, Value, Pct, Value, ...</param>
        /// <returns></returns>
        public static PercentageArray <T> FromParams(object[] values)
        {
            PercentageArray <T> array = new PercentageArray <T>(values.Length / 2);

            for (int i = 0; i < values.Length; i += 2)
            {
                array[i / 2] = new PercentageElement <T>((float)values[i], (T)values[i + 1]);
            }
            return(array);
        }