مشاوره رایگان
دریافت لینک های دانلود دریافت پستی درب منزل مبلغ کل: تومان
جهت دریافت کد تخفیف به کانال تلگرام مراجعه و یا با پشتیبان آنلاین هماهنگ نمایید

آموزش سی شارپ قسمت 65: Collections - Hashtables


هنگامی که بخواهیم اطلاعات را بر اساس key/value (کلید و داده) ذخیره کنیم از Hashtable استفاده می کنیم. بعنوان مثال نام یک دانش آموز و رتبه ای در یک امتحان. Hashtable به شما کمک میکند داده های متنی و عددی را باهم ترکیب کنید. در برنامه های دیگر  Hashtables بنام associative arrays معروفند

دکمه جدیدی به فرم اضافه کنید و بر روی آن دابل کلیک کنید تا به پنجره کد باز شود.

به عبارتهایی که در بالای لیست قرار دارند توجه کنید. خط زیر را به انتهای لیست اضافه کنید:

using System.Collections;

در لیست یک کالکشن System.Collections.Generic داریم . اما Hashtable در این کالکشن وجود ندارد. Hashtable قسمتی از Collections namespace های معمولیست. در داخل کد دکمه کلیک کنید. Hashtable را بصورت زیر تنظیم کنید:

Hashtable students = new Hashtable();

این کد آبجکتی بنام student را ایجاد می کند. این آبجکت بعنوان یک Hashtable استفاده می شود.

به دو روش میتوانید داده ها را به Hashtable اضافه کرد. مانند مثال زیر:

students["Jenny"] = 87;
students["Peter"] = "No Score";
students["Mary Jane"] = 64;
students["Azhar"] = 79;

یا بصورت زیر:

students.Add("Jenny", 87);
students.Add("Peter", "No Score";);
students.Add("Mary Jane", 64);
students.Add("Azhar", 79);

در روش اول از کروشه [  ]    استفاده می کنیم:

students["Jenny"] = 87;

آنچه در بین کروشه ها قرار میدهیم key نام دارد. این داده ویژه که در Hashtable قرار میدهیم "Jenny" نام دارد. بعد از علامت مساوی مقداری را که این key در خود نگه میدارد قرار میدهیم. توجه داشته باشید که سه تا از داده ها عدد و یکی از آنها یعنی Peter داده متنی است.

دومین راه ذخیره داده ها در یک Hashtable استفاده از متد Add است.

students.Add("Jenny", 87);

در پرانتزهای ( ) متد ( ) Add ابتدا نام key را وارد می کنیم. بعد از علامت کاما " ، "  داده ای را که برای key در نظر گرفته ایم تایپ می کنیم.

تفاوت بین این دو روش آن است که اگر از متد Add استفاده کنید نمیتوانید دو key name داشته باشید. اما اگر از کروشه [ ] استفاده کنید می توانید دو key name داشته باشید. به این ترتیب پیغام خطا دریافت خواهید کرد:

students.Add("Jenny", 87);
students.Add("Jenny", 35);

اما داده های بالا با این داده ها یکی نیست:

students["Jenny"] = 87;
students["Jenny"] = 35;

برای استفاده از Hashtable کد زیر را به دکمه اضافه کنید:

Hashtable students = new Hashtable();

students["Jenny"] = 87;
students["Peter"] = "No Score";
students["Mary Jane"] = 64;
students["Azhar"] = 79;

foreach (DictionaryEntry child in students)
{

listBox1.Items.Add("student: " + child.Key + " , Score: " + child.Value);

}

قبل از اجرای کد به حلقه foreach توجه کنید. در بین پرانتزها ( ) عبارت زیر را داریم:

DictionaryEntry child

این کد متغیری بنام child را تنظیم می کند. اما توجه کنید که نوع متغیر DictionaryEntry است. هنگامی که از حلقه foreach برای Hashtable بکار می برید #C از این نوع آبجکت استفاده میکند این امر به این دلیل است که #C بصورت اتوماتیک کلید و دیتا را بر میگرداند.

فصلِ: 1 , تعداد قسمت ها: 9 , سطح: صفر تا صد
موضوعات: آموزش سی شارپ

این فصل در یک نگاه:

آموزش ارسال پیامک، آموزش ارسال پیامک تکی و گروهی ، ارسال پیامک به صورت اختصاصی برای هر مشترک، دریافت پیامک، مشاهده وضعیت…

توضیحات کلی مجموعه:   آیا می دونید قیمت نرم افزارهای مدیریت پیامک در حدود 150 هزار تومان است؟ اما توسط این دوره شما میتونید با مبلغ بسیار کمتر یک نرم افزار مدیریت پیامک رو به صورت کاملا حر…
فصلِ: 9 , تعداد قسمت ها: 59 , سطح: صفر تا صد
موضوعات: آموزش سی شارپ

این فصل در یک نگاه:

در این فصل که فصل پایانی این دوره می باشد در مورد نحوه ساختن فایل نصبی سریع یا همان quick installer که روش پیشنهاد شده م…

توضیحات کلی مجموعه: پس از بازخوردهای بسیار خوبی که از دوره های آموزش برنامه نویسی سیستم اتوماسیون اداری و آموزش برنامه نویسی سیستم فروش و انبارداری مشاهده کردیم، تصمیم گرفتیم با توجه به درخ…
فصلِ: 13 , تعداد قسمت ها: 120 , سطح: صفر تا صد
موضوعات: آموزش سی شارپ

این فصل در یک نگاه:

در این فصل که فصل آخر از مجموعه بزرگ آموزش سیستم اتوماسیون اداری می باشد در ابتدا در مورد اسناد و نامه های خارج از سازما…

دوره صفر تا صد  آموزش برنامه نویسی و پیاده سازی سیستم اتوماسیون اداری تحت شبکه. (توصیه می شود دومی مجموعه را حتما ببینید) امروزه اطلاعات یکی از مهمترین و با ارزشترین منابع هر اداره و یا ساز…
فصلِ: 4 , تعداد قسمت ها: 14 , سطح: مقدماتی

این فصل در یک نگاه:

توضیح تنظیمات گرافیک و صدا در یونیتی پیاده سازی منو ها …

به نام خدا   بازی‌سازی یک حرفه بسیار جذاب است و تبدیل شدن به یک بازی‌ساز حرفه‌ای آرزوی همه ماست. اینکه بتوانیم دنیای خاصی خلق کنیم و در این دنیا قوانین خود را پیاده کنیم، همیشه ما را به وج…
فصلِ: 11 , تعداد قسمت ها: 92 , سطح: صفر تا صد

این فصل در یک نگاه:

اجرای سیستم روی سیستم، قرار دادن سیستم روی سرور، تعریف Connetion String، آشنایی با فایل App.config، ساخت رشته اتصال به ص…

مهمترین تکنولوژیهای استفاده شده در این دوره پروژه محور (سیستم فروش کالا و انبارداری) طراحی گرافیکی به روش WPF (Windows Presentaion Foundation) آموزش کامل برنامه نویسی xaml (برای طراحی های …
فصلِ: 5 , تعداد قسمت ها: 25 , سطح: صفر تا صد

این فصل در یک نگاه:

فصل پنجم…

توضیحات کلی مجموعه: درباره گیت: لذت پیش بردن پروژه های برنامه نویسی خود را با بهترین ورژن کنترل سیستم جهان تجربه کنید کامل ترین دوره ی آموزشی گیت و گیت هاب به همراه مثال های کاربردی گی…

تولید شده توسط کلیک سایت

پشتیبانی آنلاین
آماده پاسخگویی هستیم
انتخاب تصویر جهت ارسال:
در حال ضبط صدا

(جهت توقف و یا لغو ضبط از دکمه های زیر استفاده کنید)

توقف و ارسال :
لغو ضبط
در حال حاضر تمامی کارشناسان آفلاین هستند. همواره می توانید با شماره تلگرام / واتساپ 09010005000 به صورت آنلاین با ما در ارتباط باشید. جهت ورود به واتساپ کلیک کنید
0 پیام جدید
پشتیبان در حال تایپ ...
ارسال تصویر ضبط صدا
0 کارشناسان آنلاین می باشند
این گفت و گو توسط پشتیبان به اتمام رسید