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

前端之家收集整理的这篇文章主要介绍了c# – LINQ不适用于Xamarin中的字符串?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有以下功能
private static string SanitizeVersionStringFromUnit(string version)
    {
        var santizedString = new string(version.Where(char.IsLetterOrDigit).ToArray()); ;
        return santizedString;
    }

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

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

解决方法

您收到错误,因为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#相关文章