本日はC#の小ネタ枠です。
C#でEnumerableを使って数値配列の最大/最小/平均/合計などの算出を行う方法です。
Enumerable.Max
Enumerable.Maxは数値シーケンスの最大値を返します。
learn.microsoft.com
int[] intArray = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; int maxResult = intArray.Max();
Enumerable.Min
Enumerable.Minは数値シーケンスの最小値を返します。
learn.microsoft.com
int[] intArray = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; int minResult = intArray.Min();
Enumerable.Average
Enumerable.Averageは数値シーケンスの平均を計算します。
learn.microsoft.com
int[] intArray = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; int averageResult = intArray.Average();
Enumerable.Sum
Enumerable.Sumは数値シーケンスの合計を計算します。
learn.microsoft.com
int[] intArray = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; int sumResult = intArray.Sum();
サンプルスクリプト
数値シーケンスの処理を行う関数を使ってリストの計算を行う以下のサンプルスクリプトを作成しました。
・EnumerableMaxMinTest.cs
using System.Linq; using UnityEngine; public class EnumerableMaxMinTest : MonoBehaviour { void Start() { // 1~10の数値型の配列を作成 float[] floatArray = new float[] { 1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 9.0f, 10.0f }; Debug.Log($"floatArray: {string.Join(", ", floatArray)}"); // Maxメソッドを使用して、配列の中の最大値を取得 float maxResult = floatArray.Max(); Debug.Log($"maxResult: {maxResult}"); // Minメソッドを使用して、配列の中の最小値を取得 float minResult = floatArray.Min(); Debug.Log($"minResult: {minResult}"); // Averageメソッドを使用して、配列の中の平均値を取得 float averageResult = floatArray.Average(); Debug.Log($"averageResult: {averageResult}"); // Sumメソッドを使用して、配列の中の合計値を取得 float sumResult = floatArray.Sum(); Debug.Log($"sumResult: {sumResult}"); } }
任意の計算式を利用したい場合
Aggregateを利用すると任意の計算式を指定して数値配列の算出を行うこともできます。
bluebirdofoz.hatenablog.com