C# में किसी सूची (List) के अंतिम तत्वों को रिवर्स क्रम में प्राप्त करने के लिए Reverse() और Take() मेथड्स को चेन (chain) करके उपयोग किया जा सकता है।
उदाहरण
using System;
using System.Collections.Generic;
using System.Linq;
public class Demo
{
public static void Main()
{
// स्ट्रिंग सूची बनाएं
List myList = new List();
myList.Add("One");
myList.Add("Two");
myList.Add("Three");
myList.Add("Four");
Console.WriteLine("मूल सूची:");
foreach (string item in myList)
{
Console.WriteLine($" {item}");
}
// विधि 1: Reverse() फिर Take()
var lastThreeReversed = myList.Reverse().Take(3);
Console.WriteLine("\nअंतिम 3 तत्व (रिवर्स क्रम में):");
foreach (string item in lastThreeReversed)
{
Console.WriteLine($" {item}");
}
// विधि 2: Skip() और Take() का उपयोग (बिना रिवर्स किए)
var lastThree = myList.Skip(Math.Max(0, myList.Count - 3)).Take(3);
Console.WriteLine("\nअंतिम 3 तत्व (मूल क्रम में):");
foreach (string item in lastThree)
{
Console.WriteLine($" {item}");
}
// विधि 3: LINQ क्वेरी सिंटैक्स
var lastThreeQuery = (from item in myList
select item)
.Reverse()
.Take(3);
Console.WriteLine("\nLINQ क्वेरी सिंटैक्स से:");
foreach (string item in lastThreeQuery)
{
Console.WriteLine($" {item}");
}
}
}
आउटपुट
मूल सूची: One Two Three Four अंतिम 3 तत्व (रिवर्स क्रम में): Four Three Two अंतिम 3 तत्व (मूल क्रम में): Two Three Four LINQ क्वेरी सिंटैक्स से: Four Three Two
मुख्य मेथड्स समझाए गए
| मेथड | कार्य |
|---|---|
Reverse() | अनुक्रम के क्रम को उलट देता है |
Take(n) | शुरुआत से n तत्व लेता है |
Skip(n) | शुरुआत के n तत्वों को छोड़ देता है |
अन्य उपयोगी पैटर्न
// अंतिम N तत्व (मूल क्रम में) var lastN = list.Skip(Math.Max(0, list.Count - N)).Take(N); // अंतिम N तत्व (रिवर्स क्रम में) var lastNReversed = list.Reverse().Take(N); // पहला और अंतिम तत्व var first = list.FirstOrDefault(); var last = list.LastOrDefault(); // अंतिम 2 तत्व छोड़कर बाकी सभी var exceptLastTwo = list.Take(list.Count - 2);
महत्वपूर्ण बिंदु
Reverse()मूल सूची को संशोधित नहीं करता, नया अनुक्रम लौटाता हैTake()अनुरोधित संख्या से कम तत्व होने पर उतने ही लौटाता है (कोई त्रुटि नहीं)- बड़ी सूचियों के लिए
Skip().Take()अधिक कुशल हो सकता है क्योंकि यह पूरी सूची को रिवर्स नहीं करता - ये मेथड्स
System.Linqनेमस्पेस में हैं