一尘不染

为什么“ abcd” .StartsWith(“”)返回true?

c#

标题是整个问题。有人可以告诉我为什么会这样吗?


阅读 259

收藏
2020-05-19

共1个答案

一尘不染

是的-因为它确实以空字符串开头。实际上,空字符串在逻辑上在每对字符之间出现。

这样说:您能给“开始于”什么定义来排除这种情况?这是一个简单的“开始于”的定义,它没有:

“如果x的前y.Length几个字符与y的第一个字符匹配,则x 以y开头。”

替代(等效)定义:

“如果x.Substring(0, y.Length).Equals(y)“ x以y开头”

2020-05-19