Jeff Mosawy
- مقدمه
تا کنون شما دیدید که چگونه مجموعهای از ارقام را در آرایهها ذخیره کنیم؛ به همین ترتیب نیز شما میتوانید رشتهها را در آرایههای خود ذخیره کنید. در این بخش ما کمی در رابطه با رشتهها بهبیان جزئیات بیشتری خواهیم پرداخت.
- بکارگیری رشتهها در آرایهها
با استفاده از پروژههای سابق، یک button به فرم خود اضافه کرده و مشخصه Text آن را به String Arrays تغییر دهید. روی آن دابل کلیک کنید تا وارد بخش کدنویسی آن شوید.
برای اینکه متنی را در آرایه ذخیره کنید، میبایست نوع آرایه را از جنس string انتخاب کنید؛ شکل کلی تعریف آرایه همچنان ثابت خواهد ماند.
string[] arrayStrings;
arrayStrings = new string[5];
بنابراین کد بالا آرایهای با ۵ خانه برای شما در حافظه رزرو خواهد کرد که بتواند مقادیری از اون متن در خود ذخیره کند.
اکنون این ۵ خانه را مقدار دهی میکنم؛ دقیقاً به همان شکلی که آرایههای int را مقدار دهی میکردیم:
arrayStrings[0] = “This”;
arrayStrings[1] = “is”;
arrayStrings[2] = “a”;
arrayStrings[3] = “string”;
arrayStrings[4] = “array”;
کدهای بالا را نیز به کدهای مربوط به button جدید خود اضافه کنید تا در ادامه حلقهی ForEach را برای شما معرفی کنیم.
حلقهای جدید با نام ForEach
همانند قبل، برای اینکه به تکتک خانههای موجود در آرایهی خود دسترسی پیدا کنید، میبایست که از یک حلقه for استفاده کرده تا در تکتک خانههای موجود گشت بزنید و مقادیر آنها را به خروجی بدهید. چیزی شبیه به کد زیر:
for (int i=0; i != (arrayStrings.Length); i++)
{
listBox1.Items.Add(arrayStrings[i]);
}
اما ما حلقهی دیگری داریم که تا کنون با آن آشنا نبودهاید که به آن حلقه foreach میگویند. این حلقه زمانی برای شما کاربرد خواهد داشت که در حال کار کردن با «مجموعه»ای از مقادیر هستید. نحوهکار کردن با این حلقه را برای شما توضیح خواهیم داد، اما فعلاً کد زیر را بجای کد بالا در ادامه کدهایتان قرار دهید:
foreach (string ArrayElement in arrayStrings)
{
listBox1.Items.Add(ArrayElement);
}
کد بالا که در Visual Studio کپی کردهاید، به کلمات کلیدی (Keywords) که با رنگ آبی مشخص میشوند دقت کنید که در کجاها قرار گرفتهاند. شما ابتدا با کلمه foreach شروع کرده و به همراه آن، یک جفت پرانتز باز-بسته در مقابل آن قرار داده و با اضافه کردن یک جفت براکت باز-بسته، محدود حلقه خود را مشخص میکنید.
به کد موجود در میان پرانتز دقت کنید؛
string ArrayElement in arrayStrings
در واقع کد بالا حاوی دو بخش است که ما آن را در یک بخش مینویسم. در قسمت اول، یعنی string ArrayElement، شما یک متغیر جدیدی از همان نوع (string) تعریف میکنید. این متغیر جدید، المانهای موجود در هر یک (معنی کلمه for each) از مکان موجود در آرایهی خود را در نزد خودش نگهداری میکنید. در قسمت دوم، مکانیست که شما به سیشارپ میگویید که نام آرایه/مجموعه شما چیست که پس از استفاده از کلمه کلیدی in، نام آن را مینویسید.
در واقع این حلقه در هر مرحله از اجرای خود، تکتک خانههای آرایه/مجموعه نامبرده شده را گشت میزند، آن را در ArrayElement ذخیره میکند و سپس آن را به listBox اضافه میکند. به عکس زیر هم دقت کنید که مفهوم حلقه foreach را برای شما سادهتر میکند:

نرمافزار خود را اجرا کنید؛ بر روی button جدید کلیک کرده، میبایست نتیجه مشابه زیر باشد:

جهت دریافت این بخش آموزشی بصورت یک فایل PDF، اینجا را کلیک کنید.
