早先我遇到了以下错误:
特性 'range operator' 在 C# 7.3 中不可用。 请使用语言版本 8.0 或更高版本。
当我升级项目后仍然存在以下错误:
预定义类型 'System.Range' 未定义或未导入
基本上是想测试如何检索数组或字符串的片段:
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/zh-cn/dotnet/api/system.range?view=netcore-3.1 https://learn.microsoft.com/zh-cn/dotnet/csharp/language-reference/proposals/csharp-8.0/ranges https://learn.microsoft.com/zh-cn/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#中的数组片段
System.Range
。 - undefined<LangVersion>8.0<\LangVersion>
。你将面临的问题不是将项目语言指定为8.0(而不是默认使用与项目和IDE关联的目标文件),而是某些程序集由特定的TFM导入。 - undefined