短絡評価
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!");
}チャレンジ
簡単ProcessUserInputという名前のメソッドを作成し、2つの引数を受け取るようにします。
- 文字列(
input) - 整数(
minLength)
このメソッドでは、次の処理を行います。
- input が null でないか確認する
- input の長さが少なくとも
minLength以上か確認する - 両方の条件が true の場合のみ、"Valid input: " に続けて input を出力する
- いずれかの条件を満たさない場合は、"Invalid input" を出力する
潜在的な NullReferenceException を防ぐために、短絡評価を使用してください。
自分で試してみよう
using System;
class ProcessUserInput
{
public static void processUserInput(string input, int minLength)
{
// ここにコードを書いてください
}
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
ロジックとフローのすべてのレッスン
自分で練習してみよう: C#オンラインコンパイラ