تبلیغات
banner
banner
banner
تبلیغات
banner

فیلم های آموزشی : 36 +

تعداد کاربران : 36 +

تعداد کل مطالب : 338 +

تعداد نظرات : 29 +

حضرت محمد (ص) : طلب دانش بر هر مسلمانى واجب است. خداوند جويندگان دانش را دوست دارد.

آموزش مقدماتی تا پیشرفته سی شارپ بخش سی و ششم


بسم الله الرحمن الرحیم

آموزش مقدماتی تا پیشرفته سی شارپ بخش سی و ششم

سلام به همه کاربران وبسایت بزرگ لندلرن

قسمت سی و ششم

امتحان كنيد: حلقه foreach

  1. كنترل Button جديـدي بـه برنامـه lopps اضـافه كنيـد، خاصـيت Name آن را برابـر btnForEachLoop و خاصيت Text آن را برابر Loop ForEach قرار دهيد .
  2. روي اين كنترل دو بار كليك كنيد و كد زير را در متد مربوط به رويداد Click آن وارد كنيد:
 

  • برنامه را اجرا كنيد و روي دكمـه ي Loop ForEach كليـك كنيـد . در ListBox نـام تمـامي فولـدرهاي موجود در درايو C خود را مشاهده خواهيد كرد

چگونه كار مي كند؟

براي بدست آ وردن ليست تمام دايركتوري هاي موجود در يك مـسير خـاص در برنامـه بايـد از تـابع GetDirectories مربوط به كلاس Directory در فضاي نام System.IO استفاده كنيم. اين تـابع يـك آرايـه رشـته اي از نـام تمـام دايركتوري هاي موجود در مسيري كه براي آن مشخص شده است را برمي گرداند . در اين برنامه از اين تابع براي دريافت نام تمـامي دايركتوري هاي موجود در درايو C استفاده كرده ايم . اصل كار حلقه foreach به اين صورت است كه به وسيله ي آن شما مي توانيد در بين تمـامي اشـياي موجـود در يـك آرايـه خاص (كه تعداد آن را نيز نمي دانيد) حركت كنيد. براي ايجاد اين حلقه به منبعي از اشيا نياز داريد (در اين مثال يك آرايه از رشته ها) و يــك متغييــر كنتــرل كننــده كــه در هــر مرحلــه، شــيئ مــورد بررســي در آن قــرار خواهــد گرفــت . در ايــن مثــال تــابع GetDirectories ،آرايــه اي از اشــيا را بــه عنــوان منبــع بــراي حلقــه foreach فــراهم مــي كنــد و متغييــر strFolder به عنوان متغيير كنترل كننده به كار مي رود :

 

اين عبارت به اين معني است كه در مرحله اول، strFolder برابر با اولين آيتم در آرايه رشته اي است (در ايـن جـا برابـر بـا فولـدر “C:\ Documents and Settings “شـما ميتوانيـد ايـن فولـدر را بـا اسـتفاده از دسـتور زيـر بـه ListBox اضافه كنيد .

همانند حلقه هاي for عادی در هر مرحله، يكي از عناصر اين آرايه در متغيير strFolder قرار ميگيرد و سپس مقـدار آن به ListBox اضافه مي شود.

نكته: همانطور كه مشاهده مي كنيد به جاي استفاده از رشته “C:\ “به عنوان پارامتر براي تابع GetDirectories ، از رشته “C: \\ “استفاده كرده ايم . در زبانهاي برنامه نويسي خانواده C از جمله #C ،كاراكتر \ به عنوان يك كـاراكتر كنترلـي در نظر گرفته مي شود. فرض كنيد ميخواهيد رشته Sign ” A را در يك متغيير رشته اي ذخيره كنيد. اين رشته شامل كاراكتر ” است كه براي مشخص كردن انتهاي رشته به كار مي رود . پس نميتوان به حال ت عادي اين رشته را در يك متغيير رشته اي قـرار . داد براي اينكه به كامپايلر بگوييم كاراكتر ” جزئي از رشته است، بايد از كاراكتر \ قبل از آن استفاده كنيم. به همـين ترتيـب بـراي اين كه به كامپايلر بگوييم در رشته “\:C “كاراكتر \ جزئي از رشته است، بايد از دو \ به صورت متوالي استفاده كنيم و رشته را به صورت ” C: \\ “بنويسيم . اگر اين عبارت را به صورت ” C:\ “بنويسيم كامپايلر تصور ميكنـد كـه شـما انتهـاي رشـته را مشخص نكرده ايد و خطا ايجاد مي كند، زيرا ” را در انتهاي رشته، به عنوان بخشي از عبارت محسوب مي كند .

به پایان یکی دیگر از بخش های آموزش رسیدیم با قسمت بعدی همراه باشید.

 


درباره نویسنده
سجاد اسدی
   سجاد اسدی

سجاد اسدی هستم دانشجوی رشته نرم افزار و علاقه مند به تدریس و یادگیری دروس مرتبط با تکنولوژی نرم افزار و اینترنت اشیاء جهت ارتباط با بنده مراجعه شود به آیدی سروش و تلگرام : @ordervira و پیج بنده در اینستاگرام instagram.com/sajjadred11 ""اللهم صل علی محمد و آل محمد"" برای شروع هیچ وقت دیر نیست. "الهم عجل لولیک الفرج"

دیدگاه بگذارید

avatar
  اشتراک  
اطلاع رسانی

aparat کانال آپارات

soroush کانال سروش

کانال آی گپ