c# - LINQ 不适用于 Xamarin 中的字符串?

标签 c# linq visual-studio xamarin visual-studio-2015

我有以下功能:

    private static string SanitizeVersionStringFromUnit(string version)
    {
        var santizedString = new string(version.Where(char.IsLetterOrDigit).ToArray()); ;
        return santizedString;
    }

但是,intellisense 告诉我字符串不包含 Where 的定义并且找不到扩展方法。我在文件中声明了 using System.Linq;。在非 Xamarin 项目中,此代码工作正常。

这是 VS2015 社区中的 Xamarin.Forms PCL 项目。给了什么?

最佳答案

您收到错误是因为 string 的 PCL 版本不执行 IEnumerable<char> .您可以使用 Cast编译代码:

private static string SanitizeVersionStringFromUnit(string version)
{
    var santizedString = new string(version.Cast<char>().Where(char.IsLetterOrDigit).ToArray());
    return santizedString;
}

有关详细信息,请参阅此问题: Why doesn't String class implement IEnumerable in portable library?

关于c# - LINQ 不适用于 Xamarin 中的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36813808/

相关文章:

c# - LINQ - 从具有特定标记的 XML 元素中选择 *

visual-studio - 如何在 Visual Studio 中更改内部编号格式

c++ - 使用 Win7/64 分析在 XP/32 机器上生成的 Windows 崩溃转储?

asp.net - WCF:如何将多个服务组合到单个 WSDL 中

c# - NLog 内部记录器的编程配置

c# - 是否可以在同一应用程序中同时使用 IronPython 和 IronRuby?

c# - 将 sql 查询重写为 LINQ。找不到错误

c# - 这只能用 c# linq 来完成吗

c# - 在 C# 中,将接口(interface)列表转换为对象列表的推荐方法是什么?

javascript - 如何在 Javascript 中填充默认下拉列表