پاورپوینت

bvcxb

36 صفحه
8 بازدید
09 فروردین 1404

صفحه 1:
در این فصل بمعرفی زبان 00607۳.#) ا#سح() می پردازيم. ابتدا انواع داده استاندارد این زبان و کاربرد آنها شرح داده می ش‌ود. سپس به دستورات این زبان می پردازیم و در قالب مثالهایی آنها را بررسی خواهیم نمود. فصل دوم - آشنایی با زبان ‎C#.NET‏

صفحه 2:
& انواع داده ها ۷ هنكاميكه مى خواهيد يك متغير را تعريف كنيد بايد ‎0.08/١‏ از اينكه جه مقاديرى مى خواهيد در آن ذخیره کنید مطلع باشد. اینکار با مشخص كردن نوع داده این متغیر انجام می شود. 1 داده های عددی: نوع داده شرح ‎byte, short, tot, boy‏ | اعداد صحيح بترتیب با طول ۰۱ ۲ ؟ و ۸ بایت اعداد صحيح بدون علامت (بزرگتر از ۰) بترتیب با طول ۰۱ ۲ ‎et doc‏ ]و پیت ‎stp, double‏ | اعداد اعشاری ممیز شناور بترتیب با طول ۴و ۸ بایت ‏امس | عدد اعشاری با ممیز ثابت با ۱۶ بایت ‎ ‎ ‎ ‏فصل دوم - آشنایی با زبان 6 # ‎ ‎ ‎ ‎ ‎ ‎

صفحه 3:
داده های عددی : دقت کنید که زبان 6 # نسبت به کوچکی و بزرگی حروف حساس می باشد برای نمونه 130 و 1220 با هم متفاوتند. 1 الم )| تعریف متغیر صحیح و مقدار دهی به آن: ‎raf,‏ ‎cucvber, okt‏ وا ‎ ‏۱2 ;12140 برخی از عملگرهای ریاضی: عملگر شرح لا عملگر ضرب. تقسیم اعشاری و تفسیم صحیح, باقیمانده تقسیم ‎unary) -+)‏ مثبت و متفی کننده ‎binary) -.)‏ عملگر جمع و . عملگر تفری ‎ ‎ ‎ ‏فصل دوم - آشنایی با زبان 6 # ‎ ‎ ‎ ‎ ‎

صفحه 4:
داده های عددی + رد رده 0 عملكرهاى رياضى بهمراه نسبت دهى: براى بررسى بيشتر به برنامه 112167611112613 مراجعه كنيد اعداد اعشارى: بررسی بیشتر به برنامه ۳1010۳۲۳۷۲۵1 مراجعه فصل دوم - آشنایی با زبان 6 #

صفحه 5:
رشته ها (8) | - رشته ها نوع داده پر کاربرد دیگر هستند. یک رشته دنباله ای از کاراکترهاست که بسرای ذخسیره سازی اطلاعاتی مانند نام. آدرس و ... استفاده می شود. کاربرد دیگر رشسسته ها دریافت اطلاعات ورودی از کاربر و نمایش خروجی به او می باشد. - کاراکترهای تشکیل دهنده یک رشته پونیکد(1210006[]) است و اندازه هر کدام دو بایت می باشد. بنابراین آنها علاوه بر حروف انگلیسی و سایر کاراکترهای اسکی برای نمایش حروف سایر زبانهای طبیعی مانند عربی و فارسی و تعداد زیادی علایم دیگر استفاده می شوند. اس - تعریف رشته و مقدار دهی آن ۱ ۱ ۳ عم بو" علب ‎or = “Lele,‏ ‎word!"‏ فصل دوم - آشنایی با زبان 6 #

صفحه 6:
1 محدودده رشته ها با استفاده از کاراکترهای " و " مشخص می شود. برای مثال در دستور ("صمدظا) مجان" ,ل + " ...اوج اف ()) سس موه و "طداهة) بنرا" رشته هستند. دو عبارت "لصتا وصتصاصول 00 اكر بخواهيم خود کاراکتر "را در یک رشسته بياوريم بايد قبسل از این کاراکتر از كساراكتر ‎١‏ ‏استفاده کنیم. برای مثال || ‏علسجی اه اه لس‎ Ph || ‏سل‎ oP sO equate "Bi" ‎od =" ۷‏ ديع - ص مع ‎ ‎ ‏فصل دوم - آشنایی با زبان © #

صفحه 7:
۹ عملیات برروی رشته ها آیک نوع داده یا کلاس در زبان شی گرای :) #_علاوه بر داده دارای متدها يا توابعی است که بر روى اين داده ها عمل مى كنند. اين متدها امکان پردازش داده ها را فراهم می کنند. برای نمونه یک رشته حاوی دنباله ای از کاراکترهاست و علاوه بر آن دارای توابعی مانند تعیین جستجوی یک عبارت در رشته و ... است. برای دستیابی به ویژگیها و متدها یک یک نوع داده از عملگر نقطه استفاده می شود. ‎BE‏ عملگر :|]برای د به کاراکترهای تشکیل دهنده یک رشته استفاده می شود. این عملگر تنها خواندنی است. دقت کنید که اولین اندیس, با شماره صفر مشخص می شود ‎ ‎orks = "bebo"; chor ok = of]; ide oP obs ‏ب مج‎ ‏فصل دوم - آشنایی با زبان 6 #

صفحه 8:
& عملیات برروی رشته ها ‎Jack 1‏ ادغام: ادغام دو رشته با استفاده از عملگ + انجام می شود. ببرای مثال به قطبعه کد زیر توجه کنید ‎siricry volves‏ ۲ و۱5 ‎ ‎sir + si; [luce of revut eqs "Hello, world!"‏ = لیر ‏نکته: یک مقدار عددی را نیز می توان با یک رشته ادغام کرد دراینحالت ابتدا مقدار عددی تبدیل به رشته می شود و سپس با رشته ی مورد نظر ادغام می گردد. برای نمونه به قطعه کد زیر توجه کنید. ‎ ‎Set the value) inti = 26 "Dhe ue oP ie: "+4, //> "The value of i is:26" ‏فصل دوم - آشنایی با زبان 6 #

صفحه 9:
عملیات برروی رشته ها #انعبین طول رشته: منظور از طول رشته تعداد کاراکترهای تشکیل دهنده آن است. هر رشته دارای ویژگی به نام 1.0720110 است که طول آن رشته را بر می گرداند. ی مج با بط "سامرلا" 2 عاد ‎pire‏ ‏۱2 تساه < ۱ #ازیر رشته: یکی دیگر از عملیات پرکاربرد برروی رشته هاست که برای تعیین بخشی از آن رشسته که از مکان مشخصی شروع می شود. استفاده می شود. این عمل با استفاده از متد 5۳511760 انجام می شود. این متد دو پارامتر دارد. اولین پارامتر نشاندهنده مکان شروع زیسر رشسته اسست و پارامتر دوم طول زیر رشته را مشخص می کند. فصل دوم - آشنایی با زبان 6 #

صفحه 10:
عملیات شته ها بات برروی ر | يد يود ۱ با مت مسا ‎[Be the‏ رت > و وه ما با روطلمت0/| Orson Orn. Shrw(s.Gubsiry(D, 9), "Girices"); NQisploy the widde three characters Desene Ore Shows. Grboirrn(S, 9), "Grinp"); NO splay the host three choruters Deseae Orn. Shows. Gubsiriay(s. Leas - 9), "Giree"); خروجى برنامه براى رشته ‎Cranberry:‏ Cra nbe ny فصل دوم - آشنایی با زبان 6 #

صفحه 11:
& عملیات برروی رشته ها در رشته: برای جستجوی یک کلمه یا متن در یک رشته می توانید از متد 112062660 استفاده کنید. این متد کلمه با متن ورودی را در رشته جستجو کرده و اولین موقعیت شروع کلمه را در رشته برمی گرداند. در صورتیکه کلمه مورد نظر در رشته پیدا نشود مقدار,خروجی این متد برایر با -۱ امسر ‎o> Wie ier‏ Dewecne Bon (Show(s.‘ledexOR("Po 00 نکته: عملیات متنوع دیگری نیز بر روی رشته ها انجام مى شود. براى أكاهى از آنها مى توانيد از راهنماى سیستم کمک بگیرید. فصل دوم - آشنایی با زبان 6 #

صفحه 12:
نوع داده منطقی اما داده های منطقی تنها می توانند یکی از دو مقدار ۳86(صحیح) یا ۳0156 (نادرست) را داشته باشند و پیشتر بمنظور تصمیم گیری استفاده می شوند. برای نمونه نتيجه مقایسه برابری مقدار دو متفیر صحیح ۵و یک داده منطقی است که یا درست (1۳116) است یا غلط (۳166) تبدیل داده ها ‎Las cly ME‏ انواع داده به يكديكر مى توانيد از كلاس 62601061 استفاده کنید. فرض کنید * یک رشته و « یک متغیر 601101 باشد. تبدیل <به مقدار صحیح اابصع ‏ < ( 99 بسمون تبدیل <به مقدار اعشاری |0۵ < (م)عللهبسمون تبدیل عدد » به مقدار رشته ای 8۳۱ > (مپت سوم فصل دوم - آشنايى با زبان © #

صفحه 13:
& دستورات شرطی ‎BE 0‏ عبارات شرطی مانند "اگر هوا خوب باشد بعدازظهر به پارک می رویم " در مکالمات ما بدفعات استفاده می شوند. در برنامه نويسى نيز مى توان با دستورات شرطى روند اجراى برنامه را با توجه به شرايط كنترل كرد. بسراى اين منظور دستور 1 به شكل زير بکار می رود: ‎ ‏#امعناى دستور اين است كه اكر شرط برقرار بود دستورات١‏ را اجرا كن در غيراينصورت دستورات7 اجرا شوند. برای بیان شرط مورد نظر اغلب از عملگر های مقایسه ای (>» >!) استفاده می شود. حاصل شرط یک مقدار 1۳116 یا 10156 است. عبارات شرطی را می توان توسط عملگرهای منطقی (66, ||) باهم ترکیب عطفی یا فصلی کرد. ‎ ‏فصل دوم - آشنایی با زبان 6 # 2

صفحه 14:
& دستورات شرطی ‎ne‏ 3 60 > و ‎nae i‏ 0 2 ۰ باشد آنگاه ‎Poe‏ > 06 <ه د رو > ‎(a< G@) 8& (a‏ ‎4S) > re‏ <م || (90 >ع) ‎baa ‏(0 اع :0 19 < ذاه ساك نا سق ‎ ‏در صورتیکه بخواهیم بیش از یک شرط را چک کنیم می توانیم از ‎else if‏ استفاده کنیم > ‎ ‏(60 ‏:0+ ماع وا (00 <م) سا ( *9 ۲2 ‎eke b=b—(;‏ ‎1۳ ) ‏فصل دوم - آشنایی با زبان 64۱127

صفحه 15:
دستورات شرطی ات 1 را بصورت تودرتو نيز أمى توان نوشت براى نمونه < اسان مه 9 # برای مقایسه رشته ها می توانید از متد ۳۳۳۳() مربوط به نوع داده 2۸1 استفاده کنید. نتیجه مقایسه دو رشته ۰ و ط با استفاده از اين متد در زیر آمده است: ‎=O ۰‏ (طبد )س0 سود ط< مم 00> <O Pa<b نکته: اگر بخواهیم دو رشته ۵و " را بدون توجه به کوچکی و بزرگی حروف با هم مقایسه کنیم کافیست مقدار پارامتر سوم متد 010۳76) را برابر پا 7116 قرار دهیم ( ‎string.Compare(a,b, true‏ € فصل دوم - آشنایی با زبان 6 #

صفحه 16:
4 دستور اند ی ليد به ازای مقادیر مختلف یک متیر کارهای متفاوتی را انجام دهي لاس و امه جایگزین مناسبتری برای دستور نذ است. برای مثال دستور زیر را در نظر بگیرید AP (astm Deve == "Onxn’) (do secrets) phe P (astxverDawe == "Ctephaue") (do secrecy) ‎Cuby")‏ " عد ووو( ممصم ) ‎١‏ دجام اس ‎(do‏ ‎che P (nstrwerDawe == "Betty") (lo ‏تسه‎ ‎she (do sxvehin) ‏فصل دوم - آشنایی با زبان 64۱127 ‎

صفحه 17:
دستور ارو 0 امعادل این دستور را بصورت خواناتر با استفاده از 81۷1010 می توان بصورت زیر پیاده سازی کرد. (صس صصص )انايد vase "Bryant: (do soxpethicns); beck; ‏تست ات سا‎ ] ات سا ‎break;‏ :مس ط) ‎veer "Det":‏ ‎(do ); break; ‏تالح ‎(do sexpethicns); breech;‏ ‏برای آشنایی بیشتر با این دستور برنامه 1261100 ۹96166" را بررسی کنید. ‏فصل دوم - آشنایی با زبان 64۱127 ‎{

صفحه 18:
4 لقه»های تکرار ‎alle 229‏ الأهنكامى استفاده مى شوند كه بخواهيد كارمعينى را بدفعات تكرار كنيد. براى نمونه فرض كنيد بخواهيد معدل هر دانشجو را در ترم جارى بدست أوريد. براى اينكار بايد عمليات مربوط به مخاسبه ى معذل .را براى هر دانشجو تكرار كنيد. انواع حلقه هاى تكرار در زبان 0) # عبارتند از: ‎allel‏ *: معمولا هنگامی که بخواهید کاری را بدفعات مشخصى (مثلا 10 بار ) تكرار كنيد از این حلقه استفاده می شود. ‏الاحلقه امد هنگامی که بخواهید عملی را تا زمان برقراری شرط معین انجام دهید. برای نمونه خواندن داده های یک فایل تا زمانیکه به انتهای فایل برسید. ‏فصل دوم - آشنایی با زبان 6 # =

صفحه 19:
Por ‏حلقه‎ نز 44“ 4 برای آشنایی با نحوه ى كار حلقه ى '1”01. فرض كنيد تعداد معينى ايتم (مثلا ‏ تا) را مى خواهيد ‎ge:‏ ‎sly saps Gli ListBox J =‏ این منظور ابتدا پروژه جدیدی را ایجاد کرده و 01101 را مشابه زیر طراحی کنید: ‎For Next Loop‏ #اهطا: فصل دوم - آشنایی با زبان © # 2

صفحه 20:
بل به/رویداد کلیک دکمه 1,000 ۲66[ ۳0۲ قطعه کد زیر را بنویسید: ارو ی ما۱ ۳۷1 | ‎Por (1= 51 <= 6; ++)‏ ‎{I Qckt ke tece the bot‏ bool ewer. Dek "U7 teow" + 1 + “ re bot"); } Fern ‎wien‏ مما اه بط ‏0 خروچن برنامه: مسا ‎Solita‏ ‎Doli‏ ‎owed oss‏ ‎Gut Fen ‎Duta aDa Lace ‎ ‏فصل دوم - آشنايى با زبان © #

صفحه 21:
1 انطو که گفته شد هنگامیکه تعداد دفعات تکرار حلقه معین نیست از حلقه ۷۷101168 استفاده می کنیم. بای نمونه فرض كنيد مى خواهيم در يك حلقه تكرار يك عدد تصادفی ایو امک ید مخساف با ۰ است ‎ListBox 50 1, gl‏ نمایش دهیم: وا ملسم ‎Rexndoen();‏ ۱۰2 | Chea te tet be(Box(tews.Cleor(); [Process the loop ‏ام‎ + =d0 while (a = AD) a= r.Orn(OS); 0 ews Bdd(c); فصل دوم - آشنایی با زبان 6 # =

صفحه 22:
polite ‏دستورات ۲۲ و‎ a 3 # برای خروج ناكهانى از حلقه قبل از اينكه شرط حلقه بايان يابد از دستور 9۳6816 استفاده می شود. اين دستور باعث مى شود كنترل اجراى برنامه بقية دستورهاى درون بلوك حلقه را ناديده كرفته وبه اولین دستور بیرون حلقه پرش می 1# دستور ع 00# نیز شبیه دستور 4ج است اما به جای اين که حلقه را خاتمه دهد. اجرا را به تکرار بعدی حلقه منتقل می‌کند. بعبارت دیگر این دستور: ادامة چرخه فعلی را لغو کرده و اجرای دور بعدی حلقه را آغاز می‌کند. ## برای کار بیشتر با انواع حلقه ها در 2) # به برنامه "1.00۳5" مراجعه کنید برای کار بیشتر با انواع 2 پر ۳ مرا دوم - آشنایی با زبان 6 # فصل دوم ایی با زبان 7

صفحه 23:
‎a‏ متدها ‎Le‏ یک نوع داده یا کلاس در 2) # علاوه بر داده دارای متدها پا توابعی است که بر روی این داده ها عمل مى كنند. اين متدها امکان پردازش داده ها را فراهم می کنند. ‎ME‏ دلیل استفاده از متدها اینست که امکان استفاده مجدد از کد را فراهم می آورند. برای نمونه فرض کنید متدی ‏را نوشته ايد که معدل یک دانشجو را از روی نمرات آن محاسبه می کند. پس از آن هر وقت نیاز به معدل دانشجو دارید می توانید آن را با فراخوانى اين متد محاسبه كنيد و نيازى به نوشتن دوباره کد ندارید. ‎ME‏ علاوه بر این استفاده از متد ها اشکال زدایی برنامه ها را آسانتر می کند. ‏مثال) متد مربوط به محاسبه مساحت دایره: ‏ورودی: شعاع دایره از نوع 00116 خروجی: مساحت دایره را از نوع ‎double‏ ‎(daub ros)‏ بلطت ماطح ‏آرگومان ورودی نام متد مقدار خروجی ‏دوم - آشنایی با زبان 6 # فصل دوم - آشنايى با زبان 2

صفحه 24:
4 متدها د به دو دسته تقسیم می شوند: ۱- متدهایی که مقدار خروجی دارند. در مثال قبلی. خروجی متد از نوع 01012016 است. ۲- متدهایی که هیچ مقدار خروجی را بر نمی گردانند. اين متدها که به آنها روال می گویند. در روالها بجاى تعيين نوع خروجى. از کلمه کلیدی ۷۵101 (پوچ) استفاده می شود. للحي تال صطحم جما ومسو 5)// ‎panne = nerdy * reer‏ ‎pi‏ برطاة باصن 07// ‎square * Dak.P1;‏ = لح ‎ret‏ عط متا ‏ی مب — ‏كد متد مربوط به محاسبه مساحت دایره ‎ ‏با گرداندن مقدار خروجی. ‏۳ دستور انتهایی متد فصل دوم - آشنایی با زبان 6 # ‎۳۴

صفحه 25:
متدها )& ۲( ) ,له سرام )امس تج { double r = (OO; ‏اخونی مد‎ double area = cab tateBrea(r); ‏تفت سس‎ piney wag = "rea oF cide "+ aed )تمس فصل دوم - آشنایی با زبان © # ۲۵

صفحه 26:
& ارسال به طربق ارجاع (آدرس) 1 تا این لحظه تمام پارامترهایی که در توابع دیدیم به طریق مقد/ر ارسال شده‌اند. یعنی ابتدا یک کپی از مقدار متغیری که در فراخوانی تابع ذکر شده تهیه می‌شود و تابع بر روی این کپی عملیات را انجام می دهد. براى مثال اكر ‎radius) al lel aby jo‏ عاط جك)دج )اجات را با مقدار * فراخوانی کنیم ابتدا یک كبى از مقدار در حافظه تهيه شده و اين مكان حافظه كى>: نامكذارى مى شود. تابع دج3)ج ال حادص بر روی صله< عمل می کند نه « دوم - آشنایی با زبان :6 # فصل دوم ایی با زبان ۶

صفحه 27:
& ارسال به طریق ارجاع (آدرس) زار ابه طريق مقدار باعث مىشود كه متغيرهاى برنامة اصلی از ت 1 گاهی اوقات عمدا می‌خواهیم این اتفاق رخ دهد. یعنی می‌خواهیم که تابع بتواند محتویات متفیر فرستاده شده به آن را دست‌کاری کند. در این حالت از ارسال به طریق ارجاع استفاده م ىكنيم. ات ناخواسته در توابع مصون بمانند. اما برای این که مشخص کنیم یک پارامتر به طریق ارجاع ارسال می‌شود. از کلمه کلیدی ۲ در کنار نوع پارامتر استفاده می شود. این باعث می‌شود که تابع به جای این که یک کبی محلی از آن آرگومان ایجاد کند. خود آرگومان محلی را به کار بگیرد. به این ترتیب تابع هم می‌تواند مقدار آرگومان فرستاده شده را بخواند و هم می‌تواند مقدار آن را تفسیر دهد. در این حالت آن پارامتر یسک پارامتر «خواندنی-نوشستنی» خواهد بو دوم - آشنایی با زیان 6 # فصل دوم - آشنایی با زبان 2

صفحه 28:
ارسال به طریق ارجاع (آدرس) jt = OO void swop(reP iota, reP ict b) ‏متال)‎ ‎tb = COO; { ‏)مه‎ a, ref b); کلمه کلیدی *۲۳ تنها برای ارسال انواع داده ای پایه. مانند اعداد صحیح. اعشاری و رشته ها اسستفاده می شود. این انواع عددی اصطلاحا انواع مقداری (حجغٍ حان_نامیده می شوند. انواع داده ای که توسط کاربر یا سیستم با استفاده از کلمه کلیدی ححت تعریف شده اند. بصورت پیش فرض از نسوع ارجاع ‎Sih 6 (referewr ter)‏ دوم - آشنایی با زبان 6 # فصل دوم ایی با زبان ‎vA‏

صفحه 29:
4 ثابتها (صهه) داده های شمارشی (م؟)) ‎Gora 1‏ است شما در یک برنامه مقادیری معینی را به دفعات استفاده کنید.با استفاده از ثابتها شما می توانید ثام های مناسبی به این مقادیر بدهید و با استفاده از اين نام به آنها مراجعه کنید: :9.06666 2 ۳ سالول سره ‎ri‏ تمه سمل بصخ س * ‎retura Pi‏ } قق بسیاری از اوقات ما به متفیرهایی نیاز داریم که مقدار آنها تنها می تواند از ینک مجموعه مقادیر محدود ‏انتخاب شود. برای مثال جنسیت افراد تنها می تواند مرد یا زن باشد. و یا روز هفته که میتواند یکی از مقادیر شنبه تا جمعه را داشته باشد. كلمه كليدى ‎ENUM‏ به شما اين امكان را مى دهد كه اين نوع داده ها را ‎ ‏تعريف كنين ‎Oas0iGerk‏ سم { نوع داده شمارشی باحس ,1 = ‎Onwky‏ ‎Orckerday = 9, MY ‏تفط‎ ‏بط‎ = 8, Gorda =O, ‏قوس‎ ‏اد‎ ‎ ‏دوم - آشنايى بازبان © # فصل دوم - آشنایی با زبان ‎a‏

صفحه 30:
& داده های شمارشی (۲)) که از داده(های شهازیی + ‎vord Grohe‏ sky) jOasOPOerk dd, dO { dd = OasOPOerk.Guaday; suick (vey) WO = OasOP Werk. Pricey; { a OasOPDerek.Ovaday: ,ام صل || سا — OasOP Derk. Puesday: مجه بجخحامجد صل |/ تا :مخ تسا } برای کار بیشتل با ثابتها و داده های شمارشی 4 ‎Enum", "Constant Demo" (cs asi,‏ 0 مراجعه کنید. فصل دوم - آشنایی با زبان 6 #

صفحه 31:
4 آرایه ها 2 نمایش لیستی از داده های همنوع استفاده می شوند. با استفاده از آرایه ها شما می توائید یک گروه آز متغیرها را ایجاد كنيد و به هر یک از آنها با 1100165 دسترسی پیدا کنید. تعریف آن در #02 بصورت زیر انجام می شود: و تعریف آرایه ای از رشته ها / / و( ‎jeter]‏ #ا با تعریف آرایه حافظه ای به آن اختصاص داده نمی شود. پس از تعریف آرایه می توان با استفاده از کلمه کلیدی 1161 به شکل زیر فضای مورد نظر را به آن اختصاص داد: آرایه ای از رشته ها با اندازه ۵ که اندیس آن از ۰ تا ۴ تفییر می ‎HOS‏ ‏]هه < روز ## مى توان دوعمل فوق را در یک زمان نیز انجام داد: [ 5 سس < تاه مر # بعلاوه می توان در هنگام تعریف آرایه می توان عناصرآن را مقدار دهی اولیه کرد: jaf] bot = cow tal] )0, 16, 46, 60, ©( فصل دوم - آشنایی با زبان 6 # ‎zi‏

صفحه 32:
& آرايه ها 5 از اندیس می توان به عناصر آرایه ‎oe‏ بيدا ود سوم 2 تاه اه 0 vir Prra[O] = "Grephocie” ‏اسان همه(‎ 7(( ‏برای پیمایش عناصر آرایه می توانید از هر یک از حلقه های تکرار که قبلا معرفی شد استفاده کنید. چنانچه‎ ‏بخواهید تمام عناصر آرایه را پیمایش کنید استفاده از حلقه 0168012 برای این منظور ساده تر و خواناتر است.‎ ‏برای مثال قطعه کد زیر عناصر آرایه را پیمایش کرده و آنها را در یک 1.59026 به نام 11568011 نمايش‎ می دهد: نا( ) ‎virion] botPrieuds = ve sirkrl]‏ ‎"Brvrat", "Gophers", "Oyceey", "ete" }‏ ‎Poreurk (siricry = kt hetPrivcrs) Por (i011 = O31 < bef Priccrbs. Lech; ++)‏ 4 = :]ساسا < و مد = ‎box) Mews Oeki(e);‏ ‎bool ier Ocel(s);‏ } } دوم - آشنایی ‎#C gly lb‏ فصل دوم - آشنايى با زبان 7

صفحه 33:
& آرایه ها ۳ در 6 # امکان تعریف آرایه ها با ابعاد بزرگتر نیز وجود دارد: ‎wa ora oF S by 9 wewbers‏ جعصدامو() // ‎fei[,] waite = ce tot [G, O];‏ ‎array ced sete totic! yokes‏ مب و ‎HW Oedares‏ ‎feil,] wor = ow it [,] {{0, 8, 9}, {#,S,0}};‏ ‎H Oedares 0 cubicd array ocd sets toital voles‏ ‎raf, J ovbe = ow wt LL] { (17, OC}, (4, }},({9,9}, £8,‏ 61010 ‎HW Oedares 0 complex ara oP OS xO xP x GS xO wewbers‏ ‎cocplex = cew ict [C, ©, 9, F, S];‏ ] , , ب] 10 فصل دوم - آشنایی با زبان 0431۳۲ 2 3

صفحه 34:
& آرایه ها ی رب های چند بعدی در 2) # آرایه های ناهموار (80767601) معروفند. یک آرایه ناهموار دو بعدى را می توانید جدولی در نظر بگیرید که هر سطر آن می تواند تعداد متفاوتی ستون داشته باشد؛ | Deckwes oa ora oO ares strc] Porites = cw 60: I) eitakzes the First array ‏و‎ 3 wewbers ond sets ues Pawies[O] = cew vir] {"Gok", "Dow", "Dad", ‏ام‎ Phi}; I) eitckzes the second array to 6 ‏جوا‎ and sets ves Powis |(] = cow siicnl] {"loces", "Dow", "Dad", "Guzie", "Lith @obby"} I) itches the third array ‏چاو © وا‎ and sets ves Pawwies[O] = cw viricel] { "Dikexos", "Bot", "Bob" }; برای کار بیشتر با آرایه ها به برنامه "126100 ۲۲۵" مراجعه کنید. دوم - آشنایی با زبان :6 # فصل دوم - آشنایی با زبان ‎rr‏

صفحه 35:
مدیربت ساده خطاها کرت >إتفت.. .مو اين امكان را فراهم می کنند که شما بتوانید تمام خطاهای احتمالی در پسروژه را مدیریت کنید. بدون اينکه اجرای کد شما با رخداد خطا متوقف گردد: مثال) قطعه کد زیر شعاع یک دایره را دریافت کرده و مساحت آن را محاسبه می کند: ‎double r=‏ ‎Cowen. Po Double (NextBoxRadus. Nex);‏ ‎double = = O.0P *r*r;‏ ‎Deven @ox.Skow ("Brea =‏ ts); #ا اگر کاربر یک مقدار غیرعددی را در کادرمتن وارد کند چون امکان تبدیل آن به عدد وجود ندارد برنامه دچار اشکال شده و با خطای زیر خارج می شود: ج222 022 anus ‏ماد نم موه او منهج‎ crt. Jule dt te sppcsn soe rede ‎matinee‏ نوا ‎ ‏فصل دوم - آشنایی با زبان 64۱127 ۳۵

صفحه 36:
‎cy po‏ ساده خطاها ‏ای جلوگیری از این اشتباه می توانید از ...م9 بصورت زیر استفاده کنید: ‎[0 Skow("@rea =" +s); ‎Orson @rx. Skou"Oroay Duvber!"); ‎BE‏ در مثال بالابرنامه دستورات بخش ‎try‏ اجرا می کند و در صورت وقوع اشکال کنسترل اجسرای برنامه وارد بخش مدیریت خطا یعنی اه می شود. ‏خروجی برنامه هنگامیکه کاربر مقدار غیر عددی وارد کند ‎ ‏دوم - آشنایی با زبان :6 # فصل دوم ایی با زبان ?+

فصل دوم – آشنایی با زبان #NET Visual C. در این فصل بمعرفی زبان Visual C#.NETمی پردازیم .ابت دا انواع داده استاندارد این زبان و کاربرد آنها شرح داده می ش ود. سپس به دستورات این زبان می پردازیم و در قالب مثالهایی آنها را بررسی خواهیم نمود. فصل دوم – آشنایی با زبان C#.NET 1 انواع داده ها هنگامیکه می خواهید یک متغیر را تعریف کنید باید C#.NETاز اینکه چه مقادیری می خواهید در آن ذخیره کنید مطلع باشد .اینکار با مشخص کردن نوع داده این متغیر انجام می شود. داده های عددی: نوع داده شرح sbyte, short, int, longاعداد صحیح بترتیب با طول 4 ،2 ،1و 8بایت اعداد صحیح بدون عالمت (بزرگتر از )0بترتیب با طول ،2 ،1 ‏byte, ushort, uint, ulong 4و 8بایت single, doubleاعداد اعشاری ممیز شناور بترتیب با طول 4و 8بایت decimalعدد اعشاری با ممیز ثابت با 16بایت فصل دوم – آشنایی با زبان #C 2 متفاوتند.زبان #C نکته :دقت کنید که Intبا هم داده های عددی نسبت به کوچکی و بزرگی حروف حساس می باشد برای نمونه intو //Declare variable ;int i تعریف متغیر صحیح و مقدار دهی به آن: //Set number, add ‏numbers, ;i = 16 ‏i = i + 8; // i = 24 برخی از عملگرهای ریاضی: عملگر شرح *% ,/ , عملگر ضرب ،تقسیم اعشاری و تقسیم صحیح ،باقیمانده تقسیم (unary( -,+ مثبت و منفی کننده (binary( -,+ عملگر جمع و ،عملگر تفریق فصل دوم – آشنایی با زبان #C 3 داده های عددی عملگرهای ریاضی بهمراه نسبت دهی: ‏i += 8 =*=, /=, +=,- ‏ ‏i=i+8 برای بررسی بیشتر به برنامه IntegerMathمراجعه کنید اعداد اعشاری: ‏Declare variable// ;double d //Set number, multiply numbers, ;d = 45.34 ;d *= 4.333 //divide numbers ;d /= 7 برای بررسی بیشتر به برنامه FloatingPtMathمراجعه کنید فصل دوم – آشنایی با زبان #C 4 رشته ها ()Strings رشته ها نوع داده پر کاربرد دیگر هستند .یک رشته دنباله ای از کاراکترهاست که ب رای ذخ یرهته ها دریافت اطالعات سازی اطالعاتی مانند نام ،آدرس و ...استفاده می شود .کاربرد دیگر رش ورودی از کاربر و نمایش خروجی به او می باشد. کاراکترهای تشکیل دهنده یک رشته یونیکد( )Unicodeاست و اندازه هر کدام دو بایت میباشد .بنابراین آنها عالوه بر حروف انگلیسی و سایر کاراکترهای اسکی برای نمایش حروف سایر زبانهای طبیعی مانند عربی و فارسی و تعداد زیادی عالیم دیگر استفاده می شوند. -تعریف رشته و مقدار دهی آن فصل دوم – آشنایی با زبان #C 'Declare ‏variable ;string str 'Set the string ‏value ‏str = "Hello, ;“!world 5 رشته ها محدودده رشته ها با استفاده از کاراکترهای " و " مشخص می شود .برای مثال در دستور )"MessageBox.Show("Multiplication test... " + d, "Floating Points دو عبارت " " ...Multiplication testو " "Floating Pointsرشته هستند. اگر بخواهیم خود کاراکتر " را در یک رش ته بی اوریم بای د قب ل از این ک اراکتر از ک اراکتر \ استفاده کنیم .برای مثال // value of s1 equals Ali "// value of s2 equals "Ali فصل دوم – آشنایی با زبان #C ;“ string s1 = " Ali ""\string s2 = "\"Ali 6 عملیات برروی رشته ها # یک نوع داده یا کالس در زبان شی گرای Cعالوه بر داده دارای متدها یا توابعی است که بر روی این داده ها عمل می کنند .این متدها امکان پردازش داده ها را فراهم می کنند .برای نمونه یک رشته حاوی دنباله ای از کاراکترهاست و عالوه بر آن دارای توابعی مانند تعیین زیررشته، جستجوی یک عبارت در رشته و ...است .برای دستیابی به ویژگیها و متدها یک یک نوع داده از عملگر نقطه استفاده می شود. عملگر ][:برای دستیابی به کاراکترهای تشکیل دهنده یک رشته استفاده می شود .این عملگر تنها خواندنی است .دقت کنید که اولین اندیس ،با شماره صفر مشخص می شود ;“string s = "Hello 'char ch = s[1]; //value of ch equals 'e فصل دوم – آشنایی با زبان #C 7 عملیات برروی رشته ها عمل ادغام :ادغام دو رشته با استفاده از عملگر +انجام می شود .برای مثال به قطعه کد زیر توجه کنید //Set the string values ;”string str1 = "Hello ;“!string str2 = ", world //Concatenate the strings "!result = str1 + str2; //value of result equals "Hello, world نکته :یک مقدار عددی را نیز می توان با یک رشته ادغام کرد دراینحالت ابتدا مقدار عددی تبدیل به رشته می شود و سپس با رشته ی مورد نظر ادغام می گردد .برای نمونه به قطعه کد زیر توجه کنید. ‏Set the value// ‏int i = 26 "" The value of i is: " + i; // "The value of i is:26 فصل دوم – آشنایی با زبان #C 8 عملیات برروی رشته ها تعیین طول رشته :منظور از طول رشته تعداد کاراکترهای تشکیل دهنده آن است .هر رشته دارای ویژگی به نام Lengthاست که طول آن رشته را بر می گرداند. //Set the string values ;“string str = "Hello ‏int i = str.Length; // i = 5 زیر رشته :یکی دیگر از عملیات پرکاربرد برروی رشته هاست که برای تعیین بخشی از آن رش ته که از مکان مشخصی شروع می شود ،استفاده می شود .این عمل با استفاده از متد Substring انجام می شود .این متد دو پارامتر دارد .اولین پارامتر نشاندهنده مکان شروع زی ر رش ته اس ت و پارامتر دوم طول زیر رشته را مشخص می کند. فصل دوم – آشنایی با زبان #C 9 عملیات برروی رشته ها //Declare variable string s; //Get the text from the TextBox s = txtString.Text; //Display the first three characters MessageBox.Show(s.Substring(0, 3), "Strings"); //Display the middle three characters MessageBox.Show(s.Substring(3, 3), "Strings"); //Display the last three characters MessageBox.Show(s.Substring(s.Length - 3), "Strings"); Cranberry: خروجی برنامه برای رشته 10 #C فصل دوم – آشنایی با زبان عملیات برروی رشته ها جستجو در رشته: برای جستجوی یک کلمه یا متن در یک رشته می توانید از متد IndexOfاستفاده کنید .این متد کلمه با متن ورودی را در رشته جستجو کرده و اولین موقعیت شروع کلمه را در رشته برمی گرداند .در صورتیکه کلمه مورد نظر در رشته پیدا نشود مقدار خروجی این متد برابر با 1-است. ‏string s = "The fox jumped over the ;“wall ‏MessageBox.Show(s.IndexOf("fo ;))"x نکته :عملیات متنوع دیگری نیز بر روی رشته ها انجام می شود .برای آگاهی از آنها می توانید از راهنمای سیستم کمک بگیرید. فصل دوم – آشنایی با زبان #C 11 نوع داده منطقی bool داده های منطقی تنها می توانند یکی از دو مقدار (Trueصحیح) یا ( Falseنادرست) را داشته باشند و بیشتر بمنظور تصمیم گیری استفاده می شوند .برای نمونه نتیجه مقایسه برابری مقدار دو متغیر صحیح aو b یک داده منطقی است که یا درست ( )Trueاست یا غلط ()False تبدیل داده ها برای تبدیل انواع داده به یکدیگر می توانید از کالس Convertاستفاده کنید .فرض کنید sیک رشته و n یک متغیر decimalباشد. تبدیل sبه مقدار صحیح Integer// ‏Convert.ToInt32(s)  تبدیل sبه مقدار اعشاری Double// ‏Convert.ToDouble(s)  تبدیل عدد nبه مقدار رشته ای String// ‏Convert.ToString(n)  فصل دوم – آشنایی با زبان #C . . . 12 دستورات شرطی عبارات شرطی مانند " اگر هوا خوب باشد بعدازظهر به پارک می رویم" در مکالمات ما بدفعات اس__تفاده می شوند .در برنامه نویسی نیز می توان با دستورات شرطی روند اجرای برنامه را با توجه به شرایط کنترل کرد .ب__رای این منظور دستور ifبه شکل زیر بکار می رود: { ) شرط ( if دستورات1 } { else دستورات2 } معنای دستور این است که اگر شرط برقرار بود دستورات 1را اجرا کن در غیراینصورت دستورات2 اجرا شوند .برای بیان شرط مورد نظر اغلب از عملگر های مقایسه ای (> )!= ،== ،<= ،=> ،استفاده می شود .حاصل شرط یک مقدار trueیا falseاست .عبارات شرطی را می توان توسط عملگرهای منطقی (&& )|| ,باهم ترکیب عطفی یا فصلی کرد. فصل دوم – آشنایی با زبان #C 13 دستورات شرطی برای نمونه اگر مقدار a = 10باشد آنگاه ‏a < 20  true ‏a > 15  false (a < 20) && (a > 15)  false (a < 20) || (a > 15)  true ‏b = 11 )if ( a == 20 ‏b = b10 ;= b +1 ;else b = b – 1 در صورتیکه بخواهیم بیش از یک شرط را چک کنیم می توانیم از else if استفاده کنیم فصل دوم – آشنایی با زبان C#.NET )If (a == 20 ;b = b +1 )else if (a > 20 ;b = b * 2 ;else b = b – 1 14 دستورات شرطی دستورات ifرا بصورت تودرت__و ن__یز می توان نوشت برای نمونه {)If (x == 3 ;)"MessageBox.Show(“x = 3 )If (y == 6 = MessageBox.Show(“y ;)"6 } برای مقایسه رشته ها می توانید از متد Compareمربوط به نوع داده stringاستفاده کنید .نتیجه مقایسه دو رشته aو bبا استفاده از این متد در زیر آمده است: ‏if a = b =0 ‏if a > b >0 ‏if a < b <0 )string.Compare(a,b نکته :اگر بخواهیم دو رشته aو bرا بدون توجه به کوچکی و بزرگی حروف با هم مقایسه کنیم کافیست مقدار پارامتر سوم متد Compareرا برابر با trueقرار دهیم )  string.Compare(a,b, true فصل دوم – آشنایی با زبان #C 15 switch دستور هنگامی که بخواهید به ازای مقادیر مختلف ی__ک متغ__یر کارهای متف__اوتی را انجام دهی__د معم__وال دس__تور برای مثال دستور زیر را در نظر بگیرید. استif جایگزین مناسبتری برای دستورswitch If (customerName == "Bryan“) (do something) else if (customerName == "Stephanie“) (do something) else if (customerName == " Cathy“) (do something) else if (customerName == "Betty“) (do something) else (do something) 16 C#.NET فصل دوم – آشنایی با زبان switch دستور . می توان بصورت زیر پیاده سازی کردswitch معادل این دستور را بصورت خواناتر با استفاده از switch(customerName) { case "Bryan“: (do something); break; case "Stephanie“: (do something) break; case "Cathy“: (do something); break; case "Betty“: (do something); break; default: (do something); break; } ."" را بررسی کنیدSelect Demo برای آشنایی بیشتر با این دستور برنامه 17 C#.NET فصل دوم – آشنایی با زبان حلقه های تکرار هنگامی استفاده می شوند که بخواهید کارمعینی را بدفعات تکرار کنید .برای نمون__ه فرض کنی__د بخواهی__د معدل هر دانشجو را در ترم جاری بدست آورید .برای اینکار باید عملیات مربوط به محاسبه ی معدل را برای هر عبارتند از: دانشجو تکرار کنید .انواع حلقه های تکرار در زبان C # حلقه :forمعموال هنگامی که بخواهید کاری را بدفعات مشخصی (مثال 10بار ) تکرار کنید از این حلقه استفاده می شود. حلقه :whileهنگامی که بخواهید عملی را تا زمان برقراری شرط معین انجام دهید .برای نمونه خواندن داده های یک فایل تا زمانیکه به انتهای فایل برسید. فصل دوم – آشنایی با زبان #C 18 حلقه For برای آشنایی با نحوه ی کار حلقه ی ،Forفرض کنید تعداد معینی ایتم (مثال 5تا) را می خواهید در کنترل ListBoxنشان دهید .برای این منظور ابتدا پروژه جدیدی را ایجاد کرده و Form1را مشابه زیر طراحی کنید: فصل دوم – آشنایی با زبان #C 19 For حلقه : قطعه کد زیر را بنویسیدFor Next Loop ر پاسخ به رویداد کلیک دکمه //Declare counter variable int i; //Perform a loop for (i = 1; i <= 5; i++) { //Add the item to the list listBox1.Items.Add("I'm item " + i + “ in the list"); } خروجی برنامه 20 #C فصل دوم – آشنایی با زبان حلقه while همانطورکه گفته شد هنگامیکه تعداد دفعات تکرار حلقه معین نیست از حلقه whileاس__تفاده می ک__نیم. عدد مخ___الف با ‏variablesزمانیکه این برای نمونه فرض کنید می خواهیم در یک حلقه تکرار یک عدد تصادفی ایجاد و تا //Declare 10است آن را در ListBoxنمایش دهیم: ‏Random r = new ;)(Random ;int n = 0 // Clear the list ;)(listBox1.Items.Clear //Process the loop until n = 10 )while (n != 10 { ;)n = r.Next(25 ;)listBox1.Items.Add(n } فصل دوم – آشنایی با زبان #C 21 دستورات breakو continue برای خروج ناگهانی از حلقه قبل از اینکه شرط حلقه پایان یابد از دس__تور breakاس__تفاده می ش__ود .این دستور باعث می شود کنترل اجرای برنامه بقيۀ دستورهاي درون بل__وك حلق__ه را ناديده گرفت__ه و ب__ه اولين‌‌دستور بيرون حلقه پرش مي‌كند. دستور continueنيز شبيه دستور breakاست اما به جاي اين که حلقه را خاتم__ه ده__د ،اج__را را ب__ه تكرار بعدي حلقه منتقل مي‌كند .بعبارت دیگر اين دستور ،ادامۀ چرخه فعلي را لغو کرده و اجراي دور بع__دي حلق__ه را آغاز مي‌کند. برای کار بیشتر با انواع حلقه ها در #C فصل دوم – آشنایی با زبان #C به برنامه " "Loopsمراجعه کنید 22 متدها # عالوه بر داده دارای متدها یا توابعی است که بر روی همانطورکه گفته شد یک نوع داده یا کالس در C این داده ها عمل می کنند .این متدها امکان پردازش داده ها را فراهم می کنند. دلیل استفاده از متدها اینست که امکان استفاده مجدد از کد را فراهم می آورند .برای نمونه فرض کنید متدی را نوشته اید که معدل یک دانشجو را از روی نمرات آن محاسبه می کند .پس از آن هر وقت نیاز به معدل دانشجو دارید می توانید آن را با فراخوانی این متد محاسبه کنید و نیازی به نوشتن دوباره کد ندارید. عالوه بر این استفاده از متد ها اشکال زدایی برنامه ها را آسانتر می کند. مثال) متد مربوط به محاسبه مساحت دایره: ورودی :شعاع دایره از نوع double خروجی :مساحت دایره را از نوع double )(double radius آرگومان ورودی فصل دوم – آشنایی با زبان #C ‏calculateArea نام متد ‏double مقدار خروجی 23 متدها متدها به دو دسته تقسیم می شوند: –1متدهایی که مقدار خروجی دارند .در مثال قبلی ،خروجی متد از نوع doubleاست. –2متدهایی که هیچ مقدار خروجی را بر نمی گردانند .این متدها که به آنها روال می گویند .در روالها بجای تعیین نوع خروجی ،از کلمه کلیدی ( voidپوچ) استفاده می شود. { کد متد مربوط به محاسبه مساحت دایره فصل دوم – آشنایی با زبان #C //Declare variables ;double square ;double result //Square the radius ;square = radius * radius //Multiply it by pi ;result = square * Math.PI //Return the result بازگرداندن مقدار خروجی ;return result دستور انتهایی متد } 24 متدها فراخونی متد private void button1_Click(object sender, EventArgs e) { double r = 100; double area = calculateArea(r); string msg = "Area of circle is " + area; MessageBox.Show(msg); } 25 فراخونی متد #C فصل دوم – آشنایی با زبان ارسال به طريق ارجاع‌ (آدرس) تا اين‌ لحظه‌ تمام‌ پارامترهايي كه‌ در توابع‌ ديديم‌ به‌ طريق‌ مقدار ارسال‌ شده‌اند .يعني‌ ابتدا یک کپی از مق__دار متغيري که در فراخواني تابع ذکر شده تهیه مي‌شود و تابع بر روی این کپی عملیات را انجام می دهد. برای مثال اگر در برنامه اصلی تابع ) calculateArea(double radiusرا با مقدار rفراخوانی کنیم ابتدا ی__ک کپی از مقدار rدر حافظه تهیه شده و این مکان حافظه radiusنامگذاری می ش__ود .ت__ابع calculateArea بر روی radiusعمل می کند نه r 10 ‏r کپی 10 فصل دوم – آشنایی با زبان #C ‏radius 26 ارسال به طريق ارجاع (آدرس) ارسال به طريق مقدار باعث مي‌شود که متغيرهاي برنامۀ اصلي از تغييرات ناخواسته در توابع مصون بمانند .اما گاهي اوقات عمدا مي‌خواهيم اين اتفاق رخ دهد .يعني مي‌خواهيم که تابع بتواند محتويات متغير فرستاده شده به آن را دست‌کاري کند .در اين حالت از ارسال به طريق ارجاع‌استفاده مي‌کنيم. براي اين که مشخص کنيم يک پارامتر به طريق ارجاع ارسال مي‌شود ،از کلم__ه کلی__دی refدر کن__ار ن__وع پارامتر استفاده می شود .اين باعث مي‌شود که تابع به جاي اين که يک کپي محلي از آن آرگومان ايجاد کند ،خود آرگومان محلي را به کار بگيرد .به اين ترتيب تابع هم مي‌تواند مق__دار آرگومان فرس__تاده ش__ده را بخواند و هم مي‌تواند مقدار آن را تغيير ده__د .در اين حالت آن پارامتر يک پارامتر «خواندني-نوش__تني» خواهد بود. فصل دوم – آشنایی با زبان #C 27 ارسال به طريق ارجاع (آدرس) مثال) )void swap(ref int a, ref int b { ;int temp = a ;a = b ;b = temp } ;int a = 100 ;int b = 200 ;)swap(ref a, ref b کلمه کلیدی refتنها برای ارسال انواع داده ای پایه ،مانند اعداد صحیح ،اعشاری و رش__ته ها اس__تفاده می شود .این انواع عددی اصطالحا انواع مقداری ( )value typeنامی__ده می ش__وند .ان__واع داده ای ک__ه توس__ط کاربر یا سیستم با استفاده از کلمه کلیدی classتعریف ش__ده ان__د ،بص__ورت پیش فرض از ن وع ارجاع ( ) reference typeمی باشند. فصل دوم – آشنایی با زبان #C 28 ثابتها ( )Contantsداده های شمارشی ()Enum ممکن است شما در یک برنامه مقادیری معینی را به دفعات استفاده کنید.با استفاده از ثابتها شما می توانید نام های مناسبی به این مقادیر بدهید و با استفاده از این نام به آنها مراجعه کنید: ;const double Pi = 3.14159265 {)double computeArea(double r ;return Pi * r * r } بسیاری از اوقات ما به متغیرهایی نیاز داریم که مقدار آنها تنها می توان__د از ی__ک مجموع__ه مق__ادیر مح__دود انتخاب شود .برای مثال جنسیت افراد تنها می تواند مرد یا زن باشد .و یا روز هفته ک__ه میتوان__د یکی از مق__ادیر شنبه تا جمعه را داشته باشد .کلمه کلیدی enumبه شما این امکان را می ده__د ک__ه این ن وع داده ها را تعریف کنید. ‏enum DaysOfWeek { نوع داده شمارشی ‏Monday = 1, Tuesday = 2, Wednesday = 3, Thursday = 4, مجموعه ‏Friday = 5, Saturday = 6, Sunday =7 مقادیر } فصل دوم – آشنایی با زبان #C 29 )Enum( داده های شمارشی استفاده از داده های شمارشی void ScheduleDay(DaysOfWeek day) { ;DaysOfWeek d1, d2 switch (day) d1 = DaysOfWeek.Sunday; { d2 = DaysOfWeek.Friday; case DaysOfWeek.Monday: // do somthing here break; case DaysOfWeek.Tuesday: // do somthing here break; default: break; } Enum" " وConstant Demo" بیشتر با ثابتها و داده های شمارشی به برنامه های برای کار } ." مراجعه کنیدDemo 30 #C فصل دوم – آشنایی با زبان آرایه ها برای نمایش لیستی از داده های همنوع استفاده می شوند .با استفاده از آرایه ها شما می توانید یک گروه از متغیرها را ایجاد کنید و به هر یک از آنها با indexدسترسی پیدا کنید .تعریف آن در #Cبص<<ورت زی<ر انجام می شود: تعریف آرایه ای از رشته ها // ;string[] strArray با تعریف آرایه حافظه ای به آن اختصاص داده نمی شود .پس از تعریف آرایه می توان با استفاده از کلمه کلیدی newبه شکل زیر فضای مورد نظر را به آن اختصاص داد: آرایه ای از رشته ها با اندازه 5که اندیس آن از 0تا 4تغییر می کند// ];strArray = new string[5 می توان دوعمل فوق را در یک زمان نیز انجام داد: ];string[] strArray = new string[5 بعالوه می توان در هنگام تعریف آرایه می توان عناصرآن را مقدار دهی اولیه کرد: };int[] list = new int[] {1, 12, 15, 20, 2 فصل دوم – آشنایی با زبان #C 31 آرایه ها با استفاده از اندیس می توان به عناصر آرایه دسترسی پیدا کرد: ‏string[] strArray = new string ;][5 . . . "strArray[2] = "Stephanie ‏MessageBox.Show(strArra )]y[2 برای پیمایش عناصر آرایه می توانید از هر یک از حلقه های تکرار که قبال معرفی شد استفاده کنید .چنانچه بخواهید تمام عناصر آرایه را پیمایش کنید استفاده از حلقه foreachبرای این منظور ساده تر و خواناتر است. برای مثال قطعه کد زیر عناصر آرایه را پیمایش کرده و آنها را در یک ListBoxبه نام listBox1نمایش می دهد: ‏string[] listFriends = new string[] { "Robbin", } ";"Bryan", "Stephanie", "Sydney", "Katie )for (int i = 0; i < listFriends.Length; i++ { ;]string s = listFriends[i ;)listBox1.Items.Add(s } فصل دوم – آشنایی با زبان #C ‏ )foreach (string s in listFriends { ;)listBox1.Items.Add(s } 32 آرایه ها :امکان تعریف آرایه ها با ابعاد بزرگتر نیز وجود دارد #C در // Declares an array of 5 by 3 members int[,] matrix = new int [5, 3]; // Declares a two-dimensional array and sets initial values int[,] matrix2 = new int [,] { { 1, 2, 3 }, { 4, 5, 6 } }; // Declares a cubical array and sets initial values int[, ,] cube = new int [,,] { { { 7, 2 }, { 1, 4 } }, { { 3, 5 }, { 4, 4 } } }; // Declares a complex array of 3 x 3 x 4 x 5 x 6 members Int [, , , ,] complex = new int [2, 2, 3, 4, 5]; 33 C#.NETفصل دوم – آشنایی با زبان آرایه ها # یک آرایه ن__اهموار دو.) معروفندJagged( آرایه های ناهموارC یک نوع از آرایه های چند بعدی در :بعدی را می توانید جدولی در نظر بگیرید که هر سطر آن می تواند تعداد متفاوتی ستون داشته باشد // Declares an array of 3 arrays string[][] families = new string[3][]; // Initializes the first array to 4 members and sets values families[0] = new string[] {"Smith", "Mom", "Dad", "Uncle Phil"}; // Initializes the second array to 5 members and sets values families[1] = new string[] {"Jones", "Mom", "Dad", "Suzie", "Little Bobby"}; // Initializes the third array to 3 members and sets values families[2] = new string[] { "Williams", "Earl", "Bob" }; ." مراجعه کنیدArray Demo" برای کار بیشتر با آرایه ها به برنامه 34 #C فصل دوم – آشنایی با زبان مدیریت ساده خطاها دستورات try…catchاین امکان را فراهم می کنند که شما بتوانی___د تمام خطاهای احتمالی در پ___روژه را مدیریت کنید ،بدون اینکه اجرای کد شما با رخداد خطا متوقف گردد: مثال) قطعه کد زیر شعاع یک دایره را دریافت کرده و مساحت آن را محاسبه می کند: = double r ;)Convert.ToDouble(TextBoxRadius.Text ;double s = 3.14 * r * r ;)MessageBox.Show("Area = " + s اگر کاربر یک مقدار غیرعددی را در کادرمتن وارد کند چون امکان تبدیل آن ب__ه ع__دد وج__ود ن__دارد برنام__ه دچار اشکال شده و با خطای زیر خارج می شود: فصل دوم – آشنایی با زبان C#.NET 35 مدیریت ساده خطاها برای جلوگیری از این اشتباه می توانید از try…catchبصورت زیر استفاده کنید: { try = double r ;)Convert.ToDouble(TextBoxRadius.Text ;double s = Math.PI * r * r ;)MessageBox.Show("Area = " + s } {catch ;)"!MessageBox.Show("Wrong Number } در مثال باال برنامه دستورات بخش tryرا اجرا می کند و در صورت وقوع اشکال کن__ترل اج__رای برنام__ه وارد بخش مدیریت خطا یعنی catchمی شود. خروجی برنامه هنگامیکه کاربر مقدار غیر عددی وارد کند فصل دوم – آشنایی با زبان #C 36

36,000 تومان