C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#のMath.Max()メソッドとは?2つの数値から最大値を取得する方法

C#のMath.Max()メソッドは、指定された2つの数値のうち大きい方(最大値)を返すメソッドです。このメソッドはSystem名前空間に属しており、doubledecimalint(Int32)、short(Int16)、longfloatbyteなど、さまざまな数値型に対して使用できます。

Math.Max()メソッドの構文

Math.Max()メソッドは、引数として2つの同型の数値を受け取り、そのうち大きい方の値を返します。主なオーバーロードの構文は以下のとおりです。

public static ulong Max (ulong val1, ulong val2);
public static uint Max (uint val1, uint val2);
public static ushort Max (ushort val1, ushort val2);
public static float Max (float val1, float val2);
public static byte Max (byte val1, byte val2);
public static long Max (long val1, long val2);

このほかにも、intdoubledecimalshortsbyteなどの型向けのオーバーロードが用意されています。重要なポイントとして、2つの引数は同じデータ型である必要があります。異なる型の値を比較したい場合は、事前にキャストを行う必要があります。

Math.Max()メソッドの使用例

それでは、実際にMath.Max()メソッドを使用したサンプルコードを見てみましょう。

using System;
public class Demo {
    public static void Main(){
        byte val1 = 10, val2 = 15;
        decimal val3 = 1000M, val4 = 1500M;
        double val5 = 15.896745, val6 = 25.676843;
        short val7 = 20, val8 = 30;
        Console.WriteLine("byte型2つの最大値 = " + Math.Max(val1, val2));
        Console.WriteLine("decimal型2つの最大値 = " + Math.Max(val3, val4));
        Console.WriteLine("double型2つの最大値 = " + Math.Max(val5, val6));
        Console.WriteLine("short型2つの最大値 = " + Math.Max(val7, val8));
    }
}

実行結果

上記のコードを実行すると、以下の出力が得られます。

byte型2つの最大値 = 15
decimal型2つの最大値 = 1500
double型2つの最大値 = 25.676843
short型2つの最大値 = 30

このように、各数値型ごとに適切なオーバーロードが自動的に選択され、2つの値のうち大きい方が返されていることがわかります。

int型とfloat型での使用例

次に、int型とfloat型の値を比較する別の例を見てみましょう。

using System;
public class Demo {
    public static void Main(){
        int val1 = 10, val2 = 15;
        float val3 = 10.8f, val4 = 25.6f;
        Console.WriteLine("int型2つの最大値 = " + Math.Max(val1, val2));
        Console.WriteLine("float型2つの最大値 = " + Math.Max(val3, val4));
    }
}

実行結果

int型2つの最大値 = 15
float型2つの最大値 = 25.6

まとめ

Math.Max()メソッドを使うことで、条件分岐(if文など)を書かずに簡潔に2つの数値の最大値を取得できます。整数型・浮動小数点型を問わず多くの数値型に対応しているため、数値処理のコードで頻繁に活用される便利なメソッドです。なお、逆に小さい方の値を取得したい場合は、Math.Min()メソッドを使用します。

  1. C#のMath.DivRem()メソッドの使い方を徹底解説!商と余りを同時に取得する方法

    C#のMath.DivRem()メソッドは、2つの数値の除算を行って商(quotient)を返すとともに、余り(remainder)をoutパラメータとして受け取ることができる便利なメソッドです。通常、商と余りの両方を求めるには「/」演算子と「%」演算子を別々に使う必要がありますが、このメソッドを使えば一度の呼び出しで両方の結果を取得できます。構文public static int DivRem(int dividend, int divisor, out int remainder); public static long DivRem(long dividend, long divisor

  2. C#のMath.DivRemメソッドとは?商と余りを同時に計算する方法

    C#のMath.DivRemメソッドは、2つの数値の商(割り算の結果)を計算すると同時に、余りも取得できる便利なメソッドです。通常、商を求める場合は「/」演算子、余りを求める場合は「%」演算子を使いますが、Math.DivRemを使えば1回の呼び出しで両方の結果を得ることができます。 Math.DivRemメソッドの基本構文 まず、被除数(割られる数)と除数(割る数)を設定します。 // 被除数(割られる数) long dividend = 30; // 除数(割る数) long divisor = 7; 続いて、DivRemメソッドを呼び出します。第3引数にはoutパラメータとして余りを受け