এটি .NET- এ সংগ্রহ সূচনা সংশ্লেষের অংশ। আপনি যতক্ষণ না তৈরি করেন কোনও সংকলনে এই বাক্য গঠনটি ব্যবহার করতে পারেন:
যা ঘটে তা ডিফল্ট কনস্ট্রাক্টর বলা হয় এবং তারপরে Add(...)
ইনিশিয়ালাইজারের প্রতিটি সদস্যের জন্য ডাকা হয়।
সুতরাং, এই দুটি ব্লক মোটামুটি একরকম:
List<int> a = new List<int> { 1, 2, 3 };
এবং
List<int> temp = new List<int>();
temp.Add(1);
temp.Add(2);
temp.Add(3);
List<int> a = temp;
আপনি করতে পারেন উদাহরণস্বরূপ ওভার নির্ধারন প্রতিরোধ, যদি আপনি চান একটি বিকল্প কন্সট্রাকটর কল List<T>
ক্রমবর্ধমান, ইত্যাদি সময়:
// Notice, calls the List constructor that takes an int arg
// for initial capacity, then Add()'s three items.
List<int> a = new List<int>(3) { 1, 2, 3, }
নোট করুন যে Add()
পদ্ধতিতে একটি আইটেম গ্রহণ করা প্রয়োজন নয়, উদাহরণস্বরূপ Add()
পদ্ধতিটির জন্য Dictionary<TKey, TValue>
দুটি আইটেম লাগে:
var grades = new Dictionary<string, int>
{
{ "Suzy", 100 },
{ "David", 98 },
{ "Karen", 73 }
};
মোটামুটি একইরকম:
var temp = new Dictionary<string, int>();
temp.Add("Suzy", 100);
temp.Add("David", 98);
temp.Add("Karen", 73);
var grades = temp;
সুতরাং, আপনার নিজের শ্রেণিতে এটি যুক্ত করার জন্য, যেমনটি বলা হয়েছে, আপনার যা যা করা দরকার তা বাস্তবায়িত হয় IEnumerable
(আবার, পছন্দসই IEnumerable<T>
) এবং এক বা একাধিক Add()
পদ্ধতি তৈরি করুন :
public class SomeCollection<T> : IEnumerable<T>
{
// implement Add() methods appropriate for your collection
public void Add(T item)
{
// your add logic
}
// implement your enumerators for IEnumerable<T> (and IEnumerable)
public IEnumerator<T> GetEnumerator()
{
// your implementation
}
IEnumerator IEnumerable.GetEnumerator()
{
return GetEnumerator();
}
}
তারপরে আপনি এটি ছাত্রলীগের সংগ্রহের মতোই ব্যবহার করতে পারেন:
public class MyProgram
{
private SomeCollection<int> _myCollection = new SomeCollection<int> { 13, 5, 7 };
// ...
}
(আরও তথ্যের জন্য, এমএসডিএন দেখুন )