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“:
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:
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!