📜  如何从C#中的指定起始位置创建范围?

📅  最后修改于: 2021-05-29 16:34:23             🧑  作者: Mango

范围结构在C#8.0中引入。它表示具有开始索引和结束索引的范围。您可以在Range结构提供的StartAt()方法的帮助下,创建一个从指定的起始索引开始到给定集合或序列的末尾的Range对象。换句话说, StartAt()方法返回一个范围,该范围从指定的起始索引开始到给定集合或序列的末尾。

句法:

public static Range StartAt(Index start);

在此,索引开始表示开始索引。

范例1:

// C# program to illustrate 
// how to create a range using
// StartAt() method of Range struct
using System;
  
namespace range_example {
  
class GFG {
  
    // Main Method
    static void Main(string[] args)
    {
        // Creating range
        // using Range constructor
        var r1 = new Range(2, 4);
  
        // Creating range
        // using Range operator
        Range r2 = 1..10;
  
        // Creating a range
        // using StartAt() method
        var r3 = Range.StartAt(4);
  
        // Displaying all the ranges
        Console.WriteLine("Range_1: " + r1);
        Console.WriteLine("Range_2: " + r2);
        Console.WriteLine("Range_3: " + r3);
    }
}
}

输出:

Range_1: 2..4
Range_2: 1..10
Range_3: 4..^0

范例2:

// C# program to illustrate how 
// to create a range using
// StartAt() method of Range struct
using System;
   
namespace range_example {
   
class GFG {
   
    // Main Method
    static void Main(string[] args)
    {
        // Creating and initializing an array
        int[] arr = new int[8] {100, 200, 300,
                     400, 500, 600, 700, 800};
   
        // Creating a range
        // using StartAt() method
        var r = Range.StartAt(2);
        var new_arr = arr[r];
   
        // Displaying the range
        // and the elements
        Console.WriteLine("Range: " + r);
        Console.Write("Numbers: ");
   
        foreach(var i in new_arr)
            Console.Write($" [{i}]");
    }
}
}

输出:

Range: 2..^0
Numbers:  [300] [400] [500] [600] [700] [800]