我跳进这个意外并没有任何线索,为什么发生这种情况初始化字符串似乎包含的String.Empty
string sample = "Hello World";
if (sample.Contains(string.Empty))
{
Console.WriteLine("This contains an empty part ? at position " + sample.IndexOf(string.Empty));
Console.WriteLine(sample.LastIndexOf(string.Empty));
Console.WriteLine(sample.Length);
}
输出
This contains an empty part ? at position 0
10
11
我很满意最后一部分,但我不知道为什么这被评估为真。即使Indexof
和LastIndexOf
也有不同的值。
任何人都可以帮我解决这是为什么?
编辑
我相信这是一个有点相关的我的问题,并也将是帮助那些在这个问题谁绊倒。
看到这个SO链接:Why does "abcd".StartsWith("") return true?
@ SwDevMan81:应该不是11而不是10? – V4Vendetta 2011-05-04 11:50:12
@ V4Vendetta - 最后的索引是10(0到10是11个字符) – SwDevMan81 2011-05-04 11:51:17
@ SwDevMan81:对不起,我的错误没有读取'index',所以它暗示了对于上面给出的任何字符串string.Empty将始终解析为true (很高兴知道是否有例外情况) – V4Vendetta 2011-05-04 11:56:03