Heim > Backend-Entwicklung > C++ > Warum gibt „abcd'.StartsWith('') „True' zurück?

Warum gibt „abcd'.StartsWith('') „True' zurück?

DDD
Freigeben: 2024-12-31 21:16:16
Original
295 Leute haben es durchsucht

Why Does

Warum "abcd".StartsWith("") True zurückgibt

Es stellt sich die Frage: Warum gibt "abcd".StartsWith("" ) als wahr auswerten?

Die Antwort liegt im Konzept einer leeren Zeichenfolge. Eine leere Zeichenfolge ist, wie der Name schon sagt, eine Zeichenfolge mit null Zeichen. Es stellt das Fehlen jeglicher Zeichen dar.

Im Kontext der StartsWith-Methode wird eine leere Zeichenfolge als legitime „Teilzeichenfolge“ jeder anderen Zeichenfolge betrachtet. Dies liegt daran, dass die leere Zeichenfolge logischerweise zwischen jedem Zeichenpaar in jeder Zeichenfolge auftritt.

Bedenken Sie die folgende Definition von „beginnt mit“:

  • Eine Zeichenfolge x beginnt mit y wenn die ersten y.Length-Zeichen von x mit denen von y übereinstimmen.

Anhand dieser Definition können wir das sehen „abcd“.StartsWith(““) ist tatsächlich wahr. Die leere Zeichenfolge hat null Zeichen, daher ist ihre Länge auch null. Die ersten Nullzeichen von „abcd“ stimmen auch mit den ersten Nullzeichen der leeren Zeichenfolge überein. Daher beginnt „abcd“ mit der leeren Zeichenfolge.

Eine andere äquivalente Definition von „beginnt mit“ ist:

  • Eine Zeichenfolge x beginnt mit y, wenn x.Substring(0, y .Length).Equals(y)

Diese Definition gibt uns eine andere Möglichkeit, das Ergebnis von „abcd“.StartsWith(““) zu visualisieren. Der Aufruf von x.Substring(0, y.Length) extrahiert einen Teilstring aus x, der bei Index 0 beginnt und direkt vor Index y.Length endet. In diesem Fall ist y.Length Null, sodass die aus „abcd“ extrahierte Teilzeichenfolge eine leere Zeichenfolge ist. Da eine leere Zeichenfolge gleich der leeren Zeichenfolge y ist, gibt die StartsWith-Methode true zurück.

Das obige ist der detaillierte Inhalt vonWarum gibt „abcd'.StartsWith('') „True' zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage