为什么字符串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?
答案 0 :(得分:5)
空字符串是每个字符串的子字符串,也出现在每个可能的位置 - 包括在开头和结尾。
这样画面:针中的每个字符必须在字符串的开头或结尾以相同的顺序出现。并且空集上的通用量词(∀)总是正确的。
答案 1 :(得分:3)
为什么不应该呢?
string.Empty + "string" + string.Empty = "string"