错误:未定义或导入预定义类型“System.Range”

问题描述 投票:0回答:1

早些时候我收到错误:

Feature 'range operator' is not available in C# 7.3. Please use language version 8.0 or greater.

当我升级项目时,以下错误仍然存在:

Predefined type 'System.Range' is not defined or imported

基本上尝试测试我们如何检索数组或字符串的片段:

using System;
using System.Windows.Forms;

namespace TestRange
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            var story = "Testing C# 8";
            Console.WriteLine(story[^6..^0]); // (last 6 chars)
        }
    }
}

我参考过但没有帮助的文章:

https://learn.microsoft.com/en-us/dotnet/api/system.range?view=netcore-3.1 https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/proposals/csharp-8.0/ranges https://learn.microsoft.com/en-us/dotnet/csharp/tutorials/ranges-indexes

https://www.infoworld.com/article/3532284/how-to-use-indices-and-ranges-in-csharp-80.html

https://www.codejourney.net/2019/02/csharp-8-slicing-indexes-ranges/

一个相关问题:C# 中的数组切片

c# .net range slice
1个回答
0
投票

作为 .NET Framework 461 或类似解决方案,您可以在 csproj 中使用此 NuGet 包:

<ItemGroup>
  <PackageReference Include="Contrib.Bcl.Ranges" Version="1.0.0"/>
</ItemGroup>
© www.soinside.com 2019 - 2024. All rights reserved.