プリミティブから始めましょう:
control.Text.Trim()最初のブロックは、文字列がnullor かどうかをチェックしますString.Empty。
2 番目のブロックは、文字列control.Text.Trim()が"".
control.Text.Trim()3 番目のブロックは、文字列が であるかどうかをチェックしますnull。
control.Text.Trim()4 番目のブロックは、文字列がString.Empty;かどうかをチェックします。これは 2 番目のブロックとまったく同じです: ""equals String.Empty。
なるほど、わかりやすいです。ただし、String.Trim()決して返さないことに注意してくださいnull。したがって、最初のブロックは と同等control.Text.Trim() == String.Emptyです。これも 2 番目のブロックと 4 番目のブロックと""同じですString.Empty。3 番目のブロックがヒットすることはありません。
したがって、1 番目、2 番目、4 番目のブロックはcontrol.Trim、空の文字列と 3 番目のブロックが役に立たず満たすことができないかどうかをチェックすることと同じです。controlisnullまたはcontrol.Textisのnull場合、例外が発生することに注意してください。したがって、`String.IsNullOrWhiteSpaceを使用して、すべてを次のものに置き換えることを強く検討する必要があります。
if(control != null && String.IsNullOrWhiteSpace(control.Text)) {
// code to execute
}
control(ただし、 ではない何らかの保証がある場合を除きますnull。その場合、 の最初の部分は省略してifください)。