Feedback

Generische Between Methode

Sprache: C#

Immer wieder benötigt man Codefragmente die prüfen ob ein Wert zwischen 2 bestimmten liegt. Diese kleine Methode übernimmt genau diese Aufgabe in Zukunft. [b]Verwendungsbeispiel[/b] [code] private void button1_Click(object sender, EventArgs e) { if (Helper.Instance.IsBetween<int>(5, 1, 20)) MessageBox.Show("Treffer"); else MessageBox.Show("Schade, leider daneben"); } } [/code]
    /// <summary>
    /// Singleton Class that holds custom helper methods
    /// </summary>
    public class Helper
    {
        /// <summary>
        /// Singleton Helper Class
        /// </summary>
        public static readonly Helper Instance = new Helper();
        private Helper()
        {
        }
        /// <summary>
        /// Prüft ob value zwischen den übergebenen Grenzen liegt oder einer dieser entspricht
        /// </summary>
        /// <typeparam name="T">Typ der Prüfung muss IComparable implementieren</typeparam>
        /// <param name="value">Wert der geprüft werden soll</param>
        /// <param name="lowest">Mindestwert der eine positive Prüfung ergibt</param>
        /// <param name="highest">Maximalwert der eine positive Prüfung ergibt</param>
        /// <returns></returns>
        public bool IsBetween<T>(T value, T lowest, T highest) where T : IComparable
        {
            return (Comparer<T>.Default.Compare(lowest, value) <= 0 && Comparer<T>.Default.Compare(highest, value) >= 0);
        }
    }
    /// <summary>
    /// Singleton Class that holds custom helper methods
    /// </summary>
    public class Helper
    {
        /// <summary>
        /// Singleton Helper Class
        /// </summary>
        public static readonly Helper Instance = new Helper();
        private Helper()
        {
        }
        /// <summary>
        /// Prüft ob value zwischen den übergebenen Grenzen liegt oder einer dieser entspricht
        /// </summary>
        /// <typeparam name="T">Typ der Prüfung muss IComparable implementieren</typeparam>
        /// <param name="value">Wert der geprüft werden soll</param>
        /// <param name="lowest">Mindestwert der eine positive Prüfung ergibt</param>
        /// <param name="highest">Maximalwert der eine positive Prüfung ergibt</param>
        /// <returns></returns>
        public bool IsBetween<T>(T value, T lowest, T highest) where T : IComparable
        {
            return (Comparer<T>.Default.Compare(lowest, value) <= 0 && Comparer<T>.Default.Compare(highest, value) >= 0);
        }
    }

3 Kommentare