2016-11-01 6 views

答えて

0

InStrは検索文字列の最初の出現のインデックスを検索される文字列で返します。インデックスは1ベースであり、文字列が見つからない場合、返されるインデックスはlowerbound(文字列の配列としての文字列) - 1 = 1 - 1 = 0です。これはVBではC#f.eです。 0 - 1 = -1となります。

文字列が見つかったかどうかを判断するためにInStrを使用している場合は、結果がブーリアンである必要があり、比較> 0を使用するには、文字列が見つかるとTrueを返し、そうでない場合はFalseを返します。

しかし、booleanとintの間に暗黙的な変換が存在するため、InStrを直接使用でき、戻り値0(見つからない)はFalseに変換され、0以外の値(見つかった)は真実。

を見てみると、実際のインデックスが必要(整数)か、このインデックスが存在するかどうか(ブール値)はすぐには分かりません。最後に、コードの可読性と保守性について説明します。暗黙的な変換(特にデバッグ不可能なSSRSコードでの)は、多くの問題を引き起こす可能性があることを忘れないでください。

+0

ありがとう@grafgenerator – Catwoman

+0

@vinaあなたは大歓迎です:) – grafgenerator

関連する問題