Menu
CoddyTech

短絡評価

CoddyのC#ジャーニー「ロジックとフロー」セクションの一部。レッスン 36/66。

短絡評価は、C#における最適化手法で、論理AND(&&)演算子とOR(||)演算子の2番目のオペランドは、必要な場合にのみ評価されます。

論理 AND(&&)では、最初のオペランドが false の場合、2 番目のオペランドにかかわらず、結果は常に false になります。

bool result = false && SomeMethod();

この例では、最初のオペランドがすでにfalseなので、SomeMethod()は呼び出されません。

論理 OR(||)では、最初のオペランドが true の場合、2番目のオペランドに関係なく、結果は常に true になります。

bool result = true || SomeMethod();

ここでは、最初のオペランドがすでにtrueなので、SomeMethod()は呼び出されません。

この動作は、オブジェクトのプロパティにアクセスする前にnullかどうかを確認するなど、エラーを防ぐために利用できます。

// 安全 - student が null の場合、右辺は評価されない
if (student != null && student.Grade > 70)
{
    Console.WriteLine("Student passed!");
}
challenge icon

チャレンジ

簡単

ProcessUserInputという名前のメソッドを作成し、次の2つの引数を受け取るようにします。

  • 文字列(input)
  • 整数(minLength)

このメソッドは次の処理を行います。

  1. inputがnullでないか確認する
  2. inputの長さが少なくともminLengthであるか確認する
  3. 両方の条件がtrueの場合に限り、"Valid input: "に続けてinputを出力する
  4. いずれかの条件を満たさない場合は、"Invalid input"を出力する

潜在的なNullReferenceExceptionを防ぐため、短絡評価を使用してください。

自分で試してみよう

using System;

class ProcessUserInput
{
    public static void processUserInput(string input, int minLength)
    {
        // ここにコードを書いてください
    }
}
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

ロジックとフローのすべてのレッスン

自分で練習してみよう: C#オンラインコンパイラ