C # 8.0 / .net Core 3.0 से शुरू
नए प्रकार के साथ Indexऔर Rangeजोड़ा जा रहा है , ऐरे स्लाइसिंग का समर्थन किया जाएगा ।
रेंज स्ट्रक्चर डॉक्स
इंडेक्स स्ट्रक्चर डॉक्स
Index i1 = 3; // number 3 from beginning
Index i2 = ^4; // number 4 from end
int[] a = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
Console.WriteLine($"{a[i1]}, {a[i2]}"); // "3, 6"
var slice = a[i1..i2]; // { 3, 4, 5 }
ऊपर कोड नमूना C # 8.0 ब्लॉग से लिया गया है ।
ध्यान दें कि ^उपसर्ग सरणी के अंत से गिनती को इंगित करता है । जैसा कि डॉक्स उदाहरण में दिखाया गया है
var words = new string[]
{
// index from start index from end
"The", // 0 ^9
"quick", // 1 ^8
"brown", // 2 ^7
"fox", // 3 ^6
"jumped", // 4 ^5
"over", // 5 ^4
"the", // 6 ^3
"lazy", // 7 ^2
"dog" // 8 ^1
}; // 9 (or words.Length) ^0
Rangeऔर Indexस्लोपिंग सरणियों के बाहर भी काम करते हैं, उदाहरण के लिए छोरों के साथ
Range range = 1..4;
foreach (var name in names[range])
प्रविष्टियों 1 के माध्यम से 4 के माध्यम से लूप जाएगा
ध्यान दें कि इस उत्तर को लिखते समय, C # 8.0 अभी तक आधिकारिक रूप से जारी नहीं किया गया है
C # 8.x और .Net Core 3.x है जो अब विजुअल स्टूडियो 2019 और उसके बाद उपलब्ध है।