Mathクラスのすすめ


○○以上の時に××としたいなぁ

数値を扱うときに、○○以上の数値は××として扱いたいときありますよね?(ある)
コードで書くとこんな感じ↓
※○○は「num」、××は「max」とします。

SampleClass.cs
        public static void Sample(int num, int max)
        {
            if (num > max)
            {
                num = max;
            }
        }

うーん、いまいち

よし、じゃあ三項条件演算子つかおうっと

SampleClass.cs
        public static void Sample(int num, int max)
        {
            num = num > max ? max : num;
        }

うーん、なんか可読性悪いなぁ・・・
いや1行でかけてはいるけどね・・・

そんなときのMathクラス

SampleClass.cs
        public static void Sample(int num, int max)
        {
            num = Math.Min(num, max);
        }

おお、可読性がよくてコメントがなくてもわかりやすいし、1行で書けたぞ!

Mathクラスを使えば逆も↓

SampleClass.cs
        public static void Sample(int num, int min)
        {
            num = Math.Max (num, min);
        }

ええやんかぁ・・・

負の数だけ正の数にしたいなぁ↓

SampleClass.cs
        public static void Sample(int num)
        {
            // イマイチ
            if (num < 0)
            {
                // こうとか
                num = num * -1;

                // こうとか
                num = -num;

                // ↑なんか微妙
            }

            // Math.Absですっきり
            num = Math.Abs(num);
        }

ええやんかぁ・・・

Mathクラスとか数学使う人専用でしょ??

そんなこと思っててすみませんでした。