似乎WinRT版本的.NET中的字符串类没有实现IEnumerable。我想知道为什么他们会这样做呢?
答案 0 :(得分:5)
你的“为什么?” David Kean下面的this answer评论回答:
我们为什么删除字符串上的方法的原因不是因为 WinRT,而是因为我们选择了这个机会删除 我们后悔添加的方法,或者 限制了我们围绕未来创新的计划。
String.GetEnumerator属于“我们不会添加它”的桶 我们重新开始“。在.NET Framework中,它返回CharEnumerator,它 迭代字符串是非常低效的(它导致一个 为每个循环分配),并为两个C#的foreach代码吐出 和VB自1.0天以来没有使用过这种类型。 (他们现在变成了一个foreach 在一个字符串上有效地使用字符串的“for循环” 索引)。虽然一些删除可能看起来是任意的,但每一个 删除是一个慎重的选择,并落入其中一个桶 上方。