为什么String类没有在可移植库中实现IEnumerable <char>?

And*_*lov 11 .net portable-class-library

我创建了一个针对.NET Framework 4和Silverlight 5的PCL项目(​​我使用Visual Studio 2010的扩展,而不是Visual Studio 2012的可移植项目模板,如果这很重要).我试图使用System.Linq.Enumerable.Reverse<TSource>()扩展方法反转字符串,但它不起作用,因为编译器认为System.String没有实现IEnumerable<char>.

Han*_*ant 13

可移植类库必须将自己限制在它承诺支持的所有目标平台上可用的类和方法.这里最大的麻烦制造者是WinRT,CLR有一个语言投影,可以将WinRT类型映射到托管类型.此答案中记录了投影不支持的System.String方法.GetEnumerator()就是其中之一.

  • 好吧,PCL的重点是你可能*有一天会选择WinRT. (3认同)