未定义或导入预定义的类型System.Range。

时间:2019-05-11 14:14:52

标签: c# c#-8.0

我在带有Visual Studio 2019 v16.0.2的UWP应用中使用C#8.0(测试版)。 我试图使用C#8的新范围功能,例如str[start..index],然后出现两个错误:

  1. 未定义或导入“ System.Range”预定义类型
  2. 未定义或导入“ System.Index”预定义类型

但是没有我可以使用的参考。 Visual Studio本身建议我使用此功能。该功能尚未提供吗?

2 个答案:

答案 0 :(得分:2)

这是.NET Core 3的一部分,尚未发布。

答案 1 :(得分:0)

索引和范围是 C# 8.0 的一部分,它于 2019 年 9 月与 .NET Core 3.0 一起发布。要使用所有 C# 8.0 功能,您的目标框架必须是以下:

  • .NET 标准 2.1
  • .NET Core 3.0 及更高版本
  • .NET 5.0 及更高版本

还可以在 .NET 的早期版本(例如 .NET Standard 2.0 和 .NET Framework)上使用 C# 8.0 功能。为此,您需要对您的项目进行 override the default C# version。但是,这些早期版本并未正式支持索引和范围,并且无法立即使用。话虽如此,有一种可能的解决方法可以使其工作:https://www.meziantou.net/how-to-use-csharp-8-indices-and-ranges-in-dotnet-standard-2-0-and-dotn.htm