ホームページ > バックエンド開発 > C++ > 'abcd'.StartsWith('') が True を返すのはなぜですか?

'abcd'.StartsWith('') が True を返すのはなぜですか?

DDD
リリース: 2024-12-31 21:16:16
オリジナル
285 人が閲覧しました

Why Does

なぜ "abcd".StartsWith("") は True を返す

なぜ "abcd".StartsWith("" が返されるのか) という疑問が生じます。 ) true に評価されますか?

答えは、空の文字列の概念にあります。空の文字列は、その名前が示すように、文字がゼロの文字列です。これは文字が存在しないことを表します。

StartsWith メソッドのコンテキストでは、空の文字列は他の文字列の正当な「部分文字列」とみなされます。これは、論理的には、文字列内のすべての文字ペアの間に空の文字列が発生するためです。

次の「で始まる」の定義を考えてみましょう。

    文字列 x は y で始まります。 x の最初の y.Length 文字が y.
の文字と一致する場合、この定義を使用すると、次のことがわかります。 "abcd".StartsWith("") は確かに true です。空の文字列には文字が含まれていないため、長さもゼロです。 「abcd」の最初のゼロ文字は、空の文字列の最初のゼロ文字とも一致します。したがって、「abcd」は空の文字列で始まります。

「で始まる」の別の同等の定義は次のとおりです。

    文字列 x は、x.Substring(0, y の場合、y で始まります) .Length).Equals(y)
この定義は、次の結果を視覚化する別の方法を提供します。 "abcd".StartsWith("")。 x.Substring(0, y.Length) を呼び出すと、インデックス 0 から始まりインデックス y.Length の直前で終わる x から部分文字列が抽出されます。この場合、y.Length はゼロであるため、「abcd」から抽出された部分文字列は空の文字列になります。空の文字列は空の文字列 y と等しいため、StartsWith メソッドは true を返します。

以上が'abcd'.StartsWith('') が True を返すのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート