gpt4 book ai didi

c# - .NET Portable - 在字符串上调用 .Select()

转载 作者:太空宇宙 更新时间:2023-11-03 21:07:29 25 4
gpt4 key购买 nike

我正在尝试调用 .Select() PCL 中字符串的 Linq 扩展方法,但我无法编译该项目。打电话.Select()来自单独的不可移植项​​目的字符串是可编译的。我可以看到 .Select()收录this IEnumerable<TSource> source .字符串(和字符串)类型实现 IEnumerable在 .NETPortable 程序集内部,那么为什么要 .Select()不可用?出于某种原因,编译器不能使用 PCL 将字符串隐式转换为字符数组吗?

最佳答案

编译器需要隐式转换一个stringIEnumerable<char> .

这是否有效取决于您使用可移植库的目标平台,以及可用的 .NET Framework 子集。如果您以 .NET Framework 4 和例如 Xamarin 为目标,则与您以 .NET Framework 4.5.1 和 Xamarin 为目标相比,您拥有一个不同的子集。在前一种情况下,编译器将拒绝来自 string 的隐式转换。至 IEnumerable<char> ,而在后一种情况下,它被接受。

因此,简单的解决方案(如果它对您来说可行)是针对 .NET Framework 4.5.1 及更高版本。否则,您可以将字符串转换为字符序列,例如,使用 .Cast<char>() .

关于c# - .NET Portable - 在字符串上调用 .Select(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40282783/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com