List<T>.Capacity गुण आंतरिक सरणी का आकार प्राप्त या सेट करता है जो तत्वों को संग्रहीत करता है। क्षमता हमेशा Count से अधिक या बराबर होती है। तत्व जोड़ते समय क्षमता स्वचालित रूप से दोगुनी हो जाती है (4, 8, 16, 32...)।
उदाहरण 1: दो सूचियों की क्षमता
using System;
using System.Collections.Generic;
public class Demo
{
public static void Main(String[] args)
{
List<string> list1 = new List<string>();
list1.Add("One");
list1.Add("Two");
list1.Add("Three");
list1.Add("Four");
list1.Add("Five");
Console.WriteLine("Elements in List1...");
foreach (string res in list1)
{
Console.WriteLine(res);
}
Console.WriteLine("Capacity of List1 = " + list1.Capacity);
List<string> list2 = new List<string>();
list2.Add("India");
list2.Add("US");
list2.Add("UK");
list2.Add("Canada");
list2.Add("Poland");
list2.Add("Netherlands");
Console.WriteLine("Elements in List2...");
foreach (string res in list2)
{
Console.WriteLine(res);
}
Console.WriteLine("Capacity of List2 = " + list2.Capacity);
Console.WriteLine("Is List2 equal to List1? = " + list2.Equals(list1));
}
}
आउटपुट
Elements in List1... One Two Three Four Five Capacity of List1 = 8 Elements in List2... India US UK Canada Poland Netherlands Capacity of List2 = 8 Is List2 equal to List1? = False
उदाहरण 2: Clear के बाद क्षमता
using System;
using System.Collections.Generic;
public class Demo
{
public static void Main(String[] args)
{
List<string> list = new List<string>();
list.Add("One");
list.Add("Two");
list.Add("Three");
list.Add("Four");
list.Add("Five");
Console.WriteLine("Elements in List1...");
foreach (string res in list)
{
Console.WriteLine(res);
}
Console.WriteLine("\nCount of elements in list = " + list.Count);
Console.WriteLine("Capacity of List (updated) = " + list.Capacity);
list.Clear();
Console.WriteLine("\nCount of elements in list (updated) = " + list.Count);
Console.WriteLine("Capacity of List now = " + list.Capacity);
}
}
आउटपुट
Elements in List1... One Two Three Four Five Count of elements in list = 5 Capacity of List (updated) = 8 Count of elements in list (updated) = 0 Capacity of List now = 8
क्षमता सेट करने से आंतरिक सरणी का आकार तुरंत बदल जाता है। यदि नई क्षमता Count से कम है, तो ArgumentOutOfRangeException फेंका जाता है। TrimExcess() क्षमता को Count पर सेट करता है यदि उपयोग 90% से कम है। बड़े संग्रहों के लिए क्षमता पूर्व-आवंटित करें।