C# Unity 三項条件演算子?:を用いた短縮

値を要求するif~else内のthen、elseステートメントが各々一行の場合、三項条件演算子を用いて短縮が有効な場合があります。

三項条件演算子の使用例

特にメソッド内ステートメントが一行の場合ラムダ式を用いて一行に短縮出来ます。

(数式等で有効利用が可能)

表現する式

計算中に発散する場合の利用。

$$\frac{\exp(x)-1}{x} = \begin{cases} \frac{\exp(x)-1}{x} & (x != 0) \\ 1 & (x = 0)\end{cases}$$

using UnityEngine;
namespace BlueBreath.Practice
{
    public class TernaryConditionalOperator : MonoBehaviour
    {
        [SerializeField]float x;
        float ExpExam(float x) => x != 0 ? ((float)System.Math.Exp(x) - 1) / x : 1.0f ;
        private void Start() => Debug.Log("Ans." + ExpExam(x));
    }
}

関連・参考

関連

三項条件演算子の使用例です。

参考文献

?: 演算子 (C# リファレンス)

極限 x →0 (e^x -1)/x 

コメント

タイトルとURLをコピーしました