当我应用IEnumerator并执行MoverNext()时,它会像C风格一样遍历, 'a' 'p' 'p' 'l' 'e' '\o' 直到找到空字符吗?我认为它会返回整个字符串.枚举如何在这里工作?
string ar = "apple";
IEnumerator enu = ar.GetEnumerator();
while (enu.MoveNext())
{
Console.WriteLine(enu.Current);
}
Run Code Online (Sandbox Code Playgroud)
我输出为
a
p
p
l
e
Run Code Online (Sandbox Code Playgroud)
字符串在C#中不以空值终止.或者更确切地说,字符串以空值终止的事实是对用户隐藏的实现细节.字符串"apple"有五个字符,而不是六个字符.你要求看到这五个字符,我们会向你展示这五个字符.没有第六个空字符.