为什么WinRT中的String类不实现IEnumerable <Char>

Sti*_*gar 1 .net windows-runtime

看起来WinRT版本的.NET中的字符串类没有实现IEnumerable.我想知道他们为什么这样做呢?

Luk*_*keH 5

你的"为什么?" 通过回答大卫·基恩的下方评论这个答案:

我们为什么删除字符串方法的原因不是因为WinRT,而是因为我们选择这个机会来删除我们后悔添加的方法,或者限制我们围绕未来创新的计划.

String.GetEnumerator落入"如果我们再次开始我们不会添加它"的桶中.在.NET Framework中,它返回CharEnumerator,这对于遍历字符串非常低效(它导致每个循环的分配),并且对于C#和VB的foreach的代码吐出从1.0天开始就没有使用此类型.(他们现在将一个foreach转换为一个字符串,实际上是一个使用字符串索引器的"for循环").虽然一些删除可能看起来是任意的,但每次删除都是一个慎重的选择,并落入上面的一个桶中.