Heim >Backend-Entwicklung >C++ >Warum gibt „String.StartsWith()' für leere Strings „True' zurück?
Warum String.StartsWith() für leere Präfixe True zurückgibt
Es stellt sich die Frage, warum die C#-Methode string.StartsWith wann true zurückgibt wird mit einer leeren Zeichenfolge als Präfix aufgerufen. Überraschenderweise stimmt dieses Verhalten mit der logischen Vorstellung überein, dass eine Zeichenfolge mit der leeren Zeichenfolge beginnt.
Gemäß der Definition der Methode beginnt eine Zeichenfolge mit einem Präfix, wenn die ersten Präfixzeichen der Zeichenfolge mit denen der Zeichenfolge übereinstimmen Präfix. Bei einem leeren Präfix bedeutet dies, dass die ersten Nullzeichen der Zeichenfolge mit Nullzeichen übereinstimmen müssen. Da diese Bedingung immer erfüllt ist, gibt string.StartsWith logischerweise „true“ für leere Präfixe zurück.
Eine alternative Definition von „beginnt mit“ wäre:
„Eine Zeichenfolge beginnt mit einem Präfix, wenn das erste prefix.Length Zeichen der Zeichenfolge entsprechen, wenn sie zusammengefügt werden, dem Präfix.“
Mit dieser Definition würde string.StartsWith auch true für leer zurückgeben Präfixe, da ein leeres Präfix mit einer beliebigen Anzahl von Zeichen verbunden werden kann, um die leere Zeichenfolge zu erzeugen.
Daher ist das Verhalten von string.StartsWith bei der Rückgabe von „true“ für leere Präfixe sowohl semantisch als auch logisch konsistent.
Das obige ist der detaillierte Inhalt vonWarum gibt „String.StartsWith()' für leere Strings „True' zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!