PDA

توجه ! این یک نسخه آرشیو شده می باشد و در این حالت شما عکسی را مشاهده نمی کنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : معرفی شیء Dictionary در #C و نحوه استفاده و کار با آن.



Borna66
08-10-2010, 12:52 AM
ژنریک ها چیز جدیدی نیستند . آن ها شبیه الگوها در ++C هستند. همچنین می توانید ژنریک ها را در زبان های دیگر مانند Java بیابید. ژنریک ها امکان ساخت یک کلکسیون عام و قوی را می دهند. همچنین از آنجایی که در زمان اجرا روی می دهند احتمال بروز خطاها کمتر است.
فضا نام System.Collections.Generic امکان دستیابی به نگارش های ژنریک کلاس های Stack - Dictionary - List - Queue را می دهد.

Dictionary
یکی از کلکسیون های بسیار کاربردی می باشد که امکانات نسبتا" خوبی را برای برنامه نویسان فراهم می کند. Dictionary تقریبا" مانند یک آرایه دو بعدی عمل می کند. در این شیء بعد اول کلید (Key) و بعد دوم مقدار (Value) خوانده می شود. به کمک کلید ها می توان به مقادیر دسترسی داشت. همچنین با کمک تکرار کننده می توان تمام مقادیر و کلید ها را خواند.
در واقع شیء Dictionary یک شیء کلید - مقدار (Key & Value) است .

جهت استفاده از شیء Dictionary ابتدا فضا نام System.Collections.Generic را به پروه خود اضافه کنید :


using System.Collections.Generic;
برای تعریف و ایجاد شیء Dictionary می توانید از دستور زیر استفاده کنتید :





Dictionary < string, object > MyDic = new Dictionary < string, object >();

در اینجا کلید شیء Dictionary تعریف شده از نوع string و مقدار آن از نوع object می باشد.

مقدار دهی به شیء Dictionary :




MyDic.Add("Name", "Alireza");
MyDic.Add("age", 23);



برای دسترسی به مقادیر شیء Dictionary به دستورات زیر توجه کنید :





string member_name = MyDic["Name"];
int member_age = MyDic["age"];



دقت داشته باشید که اضافه کردن پارامتر با کلید هم نام امکان پذیر نیست! دستورات زیر ایجاد خطا می کند.




MyDic.Add("Name", "Alireza");
MyDic.Add("Name", "Nima");

برای خواندن مقادیر و کلید ها به کمک یک تکرار کننده می توان از KeyValuePair و foreach استفاده کرد.






foreach (KeyValuePair<string, object> kvp in MyDic)
{
Response.Write(kvp.Key + " = " + kvp.Value.ToString() + "<br/>" );
}





در مقالات آینده به نحوه ساخت یک Data Layer با کمک گرفتن از شیء Dictionary می پردازیم.