ژنريک ها چيز جديدي نيستند . آن ها شبيه الگوها در ++C هستند. همچنين مي توانيد ژنريک ها را در زبان هاي ديگر مانند Java بيابيد. ژنريک ها امکان ساخت يک کلکسيون عام و قوي را مي دهند. همچنين از آنجايي که در زمان اجرا روي مي دهند احتمال بروز خطاها کمتر است.
فضا نام System.Collections.Generic امکان دستيابي به نگارش هاي ژنريک کلاس هاي Stack - Dictionary - List - Queue را مي دهد.
Dictionary
يکي از کلکسيون هاي بسيار کاربردي مي باشد که امکانات نسبتا" خوبي را براي برنامه نويسان فراهم مي کند. Dictionary تقريبا" مانند يک آرايه دو بعدي عمل مي کند. در اين شيء بعد اول کليد (Key) و بعد دوم مقدار (Value) خوانده مي شود. به کمک کليد ها مي توان به مقادير دسترسي داشت. همچنين با کمک تکرار کننده مي توان تمام مقادير و کليد ها را خواند.
در واقع شيء Dictionary يک شيء کليد - مقدار (Key & Value) است .
جهت استفاده از شيء Dictionary ابتدا فضا نام System.Collections.Generic را به پروه خود اضافه کنيد :
1.
using
System.Collections.Generic;
براي تعريف و ايجاد شيء Dictionary مي توانيد از دستور زير استفاده کنتيد :
1.
Dictionary <
string
,
object
> MyDic =
new
Dictionary <
string
,
object
>();
در اينجا کليد شيء Dictionary تعريف شده از نوع string و مقدار آن از نوع object مي باشد.
مقدار دهي به شيء Dictionary :
1.
MyDic.Add(
"Name"
,
"Alireza"
);
2.
MyDic.Add(
"age"
, 23);
براي دسترسي به مقادير شيء Dictionary به دستورات زير توجه کنيد :
1.
string
member_name = MyDic[
"Name"
];
2.
int
member_age = MyDic[
"age"
];
دقت داشته باشيد که اضافه کردن پارامتر با کليد هم نام امکان پذير نيست! دستورات زير ايجاد خطا مي کند.
1.
MyDic.Add(
"Name"
,
"Alireza"
);
2.
MyDic.Add(
"Name"
,
"Nima"
);
براي خواندن مقادير و کليد ها به کمک يک تکرار کننده مي توان از KeyValuePair و foreach استفاده کرد.
1.
each (KeyValuePair<
string
,
object
> kvp
in
MyDic)
2.
{
3.
Response.Write(kvp.Key +
" = "
+ kvp.Value.ToString() +
"<br/>"
);
4.
}