【C#】短絡評価とは

短絡評価とは

短絡評価とは、論理演算子において、左辺を評価した時点で、式全体の真偽値が決定した場合に右辺を評価しない仕組みのことです。

 

論理演算子

論理演算子とは、論理演算を表す記号や符号などのことです。

真(true)と偽(false)の2つの値からなる真偽値(ブール値)に対して演算を行うことができます。

◎a & b : 「aかつb」という意味、ANDのこと

◎a | b : 「aまたはb」という意味、ORのこと

実際には下記のように使用します。

if (a == 2 & b == 4 )
{

}

ここで重要なのが、「&」と「&&」では処理方法が異なるという点です。

 

&&と&、||と|の違い

論理演算子を2つ重ねて使用した際には、1つの時と動きが異なります。

&&」や「||」と記述した際には、「短絡評価」という動きをしてくれます。

短絡評価を使用することで、プログラムの処理速度を早めることができます。

先程のif文に短絡評価を加えたものが下記になります。

if (a == 2 && b == 4 ) // &&に修正
{

}

例えば、「aが3」だった場合を考えてみましょう。

&」が1つの場合、左辺である「a == 2」に対してfalseになり「かつ」の条件からは外れてしまいます。

しかし、必ず右辺も読んでしまうのが「&」が1つの場合の特徴です。

一方、「&」が2つの場合、左辺である「a == 2」に対してfalseになった時点で右辺を読むことはしません。

これが短絡評価になります。

左辺を評価し、右辺を評価する必要がないとわかった場合、右辺を読むことはありません。

この処理方法により、プログラムの処理速度が向上します

システム開発において、処理速度を早くすることは非常に重要です。

 

おすすめ書籍

■C#を学習し始めた方向け
やさしいC 第3版 (「やさしい」シリーズ)

1週間でCの基礎が学べる本

確かな力が身につくC「超」入門 第2版 (Informatics&IDEA)