目次
はじめに
条件分岐にはif文やswitch文がありますが「三項演算子」を使って処理を分けることもできます。使いすぎると読みにくくなりますが、使い所によってはスッキリしたコードが書けるので知っておくと便利です。
特徴
?
と:
をセットで使います。
val = 条件式 ? trueの場合 : falseの場合;
「条件式」が真ならば「trueの場合」を返し、偽ならば「falseの場合」を返します。
if文に似ていますが「三項演算子」は必ず何か値を返す必要があります。
サンプル
int kinkikids = 2;
int v6 = 6;
int arashi = 5;
void Start()
{
//if文を使った場合 ===
string Answer1 = "";
if(kinkikids + arashi > v6)
Answer1 = "多い";
else
Answer1 = "少ない";
Debug.Log($"kinkikids + arashi は v6 より {Answer1}");
//三項演算子を使った場合 ===
string Answer2 = kinkikids + arashi > v6
? "多い"
: "少ない"
;
Debug.Log($"kinkikids + arashi は v6 より {Answer2}");
}
![](https://kingmo.jp/kumonos/wp-content/uploads/2023/01/sankouenzanshi2.jpg)
あわせて読みたい
![](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)
![](https://kingmo.jp/kumonos/wp-content/uploads/2021/10/kiminonaha-300x169.jpg)
【Unity】if文ネストの連続とそろそろサヨナラしよう
【はじめに】 if文の条件分岐を繰り返していると、階層が深く読みにくいコードになってしまいます。そんな時は、途中で「return」で返すようにすることで、スッキリして...
参考
あわせて読みたい
三項条件演算子(C#) - 超初心者向けプログラミング入門
C#の三項条件演算子について。
Qiita
![](data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==)
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fcdn.qiita.com%2Fassets%2Fpublic%2Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png?ixlib=rb-4.0.0&w=1200&mark64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9JUU0JUI4JTg5JUU5JUEwJTg1JUU2JUJDJTk0JUU3JUFFJTk3JUU1JUFEJTkwJTNGJTNBJUUzJTgxJUFGJUU2JTgyJUFBJUUzJTgxJUE3JUUzJTgxJTgyJUUzJTgyJThCJUUzJTgwJTgyJnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmcz03ZDJlZjM3YjIwOTkwMTE5MTc4NDFjNWZjNWQ2MzhjNw&mark-x=142&mark-y=57&blend64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDByYWNjeSZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9ZjJhNjMzYmZjNmRmYjI1NDYwNTEzNDhjMDE5NGQ1NWY&blend-x=142&blend-y=486&blend-mode=normal&s=fcbccfbeece2f965c890a5b3ad570e36)
三項演算子?:は悪である。 - Qiita
三項演算子?:は悪である。異論は認める。^1三項演算子とは何か?悪である**三項演算子(ternary operator)**は?:というものだけである。それは次のようなものである。条件演...