値を要求する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));
}
}
関連・参考
関連
三項条件演算子の使用例です。
コメント