C# - Bereichsdeklaration oder "Range"-Operation's image'

611
Jun's profile picture'
Robert's profile picture'
Thema
Thema
Fragen
Analytics

In C# 8 wurden zwei neue Operatoren eingeführt. Diese erlauben System.Index und System.Range Objekte zu erzeugen und Collections zur Laufzeit zu teilen.

Die Operatoren:

  • "^" Hat Operator, nutzt den System.Index Type

  • ".." System.Range, nutzt den System.Range Type

Überblick

Mit ".." kann ein Bereich deklariert werden. Für offene Enden muss man keinen Index angeben. Sonst gibt man den Index ein, dabei kann der ^-Operator genutzt werden. Siehe Beispiele:

var fruits = new string[]
{
  "Apfel",
  "Birne",
  "Orange",
  "Banane",
  "Ananas",
  "Pfirsich"
};  

var fruits1 = fruits[..2]; // Apfel, Birne und Orange (Alle Fruechte bis und mit Orange)
var fruits2 = fruits[2..3]; // Orange und Banane
var fruits3 = fruits[3..]; // Banane, Ananas und Pfirsich (Alle Fruechte ab Banane mit offenem Ende)
var fruits4 = fruits[2..^2]; // Orange, Banane und Ananas

Des Weiteren können Bereiche auch als Variablen deklariert werden:

Range pearToBanana = 1..3;
var pearToBananaArr = fruits[pearToBanana] // Birne, Orange und Banane

Weiterlesen: https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/proposals/csharp-8.0/ranges

Untergeordnete Themen (0)
Alle Inhalte auf dieser Seite stehen, soweit nicht anders angegeben, unter der Lizenz Creative Commons Namensnennung 4.0 (CC-BY-4.0). Einzelne Elemente (aus anderen Quellen übernommene Fragen, Bilder, Videos, Textabschnitte etc.) können anderen Lizenzen unterliegen und sind entsprechend gekennzeichnet.