我有以下功能:
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/