为什么string.Empty的字符串EndsWith和StartsWith等于true

时间:2017-08-28 13:19:48

标签: c#

为什么字符串EndsWith和StartsWith在c#中的string.Empty中等于true 并解释其背后的原因,为什么会这样。

string str = "string";
Console.WriteLine(str.EndsWith(string.Empty));   // returns true... why?
Console.WriteLine(str.StartsWith(string.Empty)); // returns true... why?     

2 个答案:

答案 0 :(得分:5)

空字符串是每个字符串的子字符串,也出现在每个可能的位置 - 包括在开头和结尾。

这样画面:针中的每个字符必须在字符串的开头或结尾以相同的顺序出现。并且空集上的通用量词(∀)总是正确的。

答案 1 :(得分:3)

为什么不应该呢?

string.Empty + "string" + string.Empty = "string"