首页 > 解决方案 > 无法在 C# 中对数组进行切片

问题描述

因此,我正在查看以下示例(http://zetcode.com/lang/csharp/arrays/),标题为“c# array slices”。当我在 Microsoft Visual Studio 中复制并粘贴以下示例时:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

    namespace s_Sandbox
    {
        class Program
        {
            static void Main(string[] args)
            {
                int[] array = new int[] { 1, 2, 3, 4, 5 };
                array[1..2];
            }
        }
    }

下面有一条红色下划线[1..2],我得到一个Syntax error, "," expected……这是为什么?我错过了什么?

标签: c#arrays.netslice

解决方案


这是因为range operator[n..m] 可用于 C# 8.0 或更高版本

这也可能有用

Target framework    version C# language version default
.NET Core   3.x C# 8.0
.NET Core   2.x C# 7.3
.NET Standard   2.1 C# 8.0
.NET Standard   2.0 C# 7.3
.NET Standard   1.x C# 7.3
.NET Framework  all C# 7.3

如果升级不是一个选项,您可以使用:

      int[] array = { 1, 2, 3, 4, 5 };
      var t = array.Take(2);

推荐阅读