В C # причина, по которой он возвращается true
, заключается в том, что разработчики специально для него кодировали.
Если вы посмотрите исходный код , вы найдете специальную логику для обработки пустой строки:
public Boolean StartsWith(String value)
{
return StartsWith(value, StringComparison.CurrentCulture);
}
public Boolean StartsWith(String value, StringComparison comparisonType)
{
...
if (value.Length == 0)
{
return true;
}