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

【C#入門】Math.Min()メソッドの使い方!2つの数値から最小値を取得する方法

C#のMath.Min()メソッドは、System名前空間に属するMathクラスの静的メソッドで、指定された2つの数値のうち小さい方(最小値)を返します。byte、short、int、long、float、double、decimal、ushort、uint、ulongなど、さまざまな数値型に対してオーバーロードが用意されているため、型を意識せず柔軟に利用できるのが特徴です。

構文

Math.Min()メソッドの主な構文は以下のとおりです。

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

引数として渡した2つの値を比較し、その中で最小となる値が戻り値として返されます。

使用例①:byte・decimal・double・short型での比較

まず、複数の数値型に対してMath.Min()メソッドを使うサンプルコードを見てみましょう。

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("Minimum Value from two byte values = "+Math.Min(val1, val2));
        Console.WriteLine("Minimum Value from two decimal values = "+Math.Min(val3, val4));
        Console.WriteLine("Minimum Value from two double values = "+Math.Min(val5, val6));
        Console.WriteLine("Minimum Value from two short values = "+Math.Min(val7, val8));
    }
}

実行結果

上記のコードを実行すると、それぞれの型ごとに最小値が出力されます。

Minimum Value from two byte values = 10
Minimum Value from two decimal values = 1000
Minimum Value from two double values = 15.896745
Minimum Value from two short values = 20

どの数値型でも、渡した2つの値のうち小さい方が正しく返されていることが確認できます。

使用例②:int型・float型での比較

続いて、int型とfloat型の値を比較する例を見ていきましょう。

using System;
public class Demo {
    public static void Main(){
        int val1 = 10, val2 = 15;
        float val3 = 12.8f, val4 = 25.6f;
        Console.WriteLine("Minimum Value from two int values = "+Math.Min(val1, val2));
        Console.WriteLine("Minimum Value from two float values = "+Math.Min(val3, val4));
    }
}

実行結果

このコードを実行すると、次のような結果が表示されます。

Minimum Value from two int values = 10
Minimum Value from two float values = 12.8

まとめ

  • Math.Min()は、2つの数値のうち小さい方(最小値)を返す静的メソッドです。
  • 整数型(byte、short、int、long)や浮動小数点型(float、double)、decimal型など、多くの数値型に対応しています。
  • double型やfloat型の場合、引数のいずれかがNaN(非数)であれば、戻り値もNaNになります。
  • 逆に大きい方の値を取得したい場合は、Math.Max()メソッドを使用します。

数値の大小比較が必要な場面はプログラミングで頻繁に登場するため、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パラメータとして余りを受け