You are on page 1of 157

‫‪......................

‬‬
‫‪................................‬‬
‫‪12‬‬ ‫‪................................................................................................‬‬ ‫هشٍسی تش تشًاهِ ًَیؼی‬

‫‪................................‬‬
‫‪...........‬‬
‫‪12‬‬ ‫‪................................................................‬‬ ‫داذ ًر فشین ٍسن (‪ ) .NET Framework‬چیؼر؟‬

‫‪.......................‬‬
‫‪................................‬‬
‫‪13‬‬ ‫‪................................................................................................‬‬ ‫ػی ؿاسج چیؼر؟‬

‫‪Error! Bookmark not‬‬


‫‪................................‬‬
‫‪defined.‬‬
‫‪............‬‬ ‫‪................................‬‬ ‫ٍیظٍال ػی ؿاسج اوؼدشع ٍ ٍیظٍال اػسَدیَ‬

‫‪Error! Bookmark‬‬
‫‪................................‬‬
‫‪not defined.‬‬ ‫‪.... ................................................................‬‬ ‫ًصة ٍیظٍال ػی ؿاسج‬

‫‪...............................‬‬
‫‪24................................................................................................‬‬ ‫تِ ٍیظٍال ػی ؿاسج ‪ 2010‬خَؽ آهذیذ‬

‫‪Error! Bookmark not‬‬


‫‪..................‬‬
‫‪................................‬‬
‫‪defined.‬‬ ‫‪................................‬‬ ‫لاًًَی وشدى ٍیظٍال ػی ؿاسج ‪2010‬‬

‫‪................................‬‬
‫‪.....‬‬
‫‪27 ................................................................................................‬‬ ‫گشدؿی دس ٍیظٍال ػی ؿاسج ‪2010‬‬

‫‪...................‬‬
‫‪................................‬‬
‫‪31‬‬ ‫‪................................................................‬‬ ‫زغییش ظاّش ٍیظٍال ػی ؿاسج اوؼدشع ‪2010‬‬

‫‪......................‬‬
‫‪................................‬‬
‫‪39‬‬ ‫‪................................................................................................‬‬ ‫ػاخر یه تشًاهِ ػادُ‬

‫‪................................‬‬
‫‪...............‬‬
‫‪46‬‬ ‫‪................................................................................................‬‬ ‫اػسفادُ اص ‪IntelliSense‬‬

‫‪Error! Bookmark......................‬‬
‫‪not defined.‬‬
‫‪................................................................................................‬‬ ‫سفغ خطاّا‬

‫‪.................‬‬
‫‪................................‬‬
‫‪51‬‬ ‫‪................................................................................................‬‬ ‫خطایاتی ٍ تشطشف وشدى آى‬

‫‪................................‬‬
‫‪52‬‬
‫‪... ................................................................................................................................‬‬ ‫زَضیحاذ‬

‫‪........................‬‬
‫‪................................‬‬
‫‪53‬‬ ‫‪................................................................................................‬‬ ‫واساوسشّای وٌسشلی‬

‫‪................................‬‬
‫‪.......‬‬
‫‪55‬‬ ‫‪................................................................................................................................‬‬ ‫ػالهر @‬

‫‪................................‬‬
‫‪...........‬‬
‫‪57‬‬ ‫‪................................................................................................................................‬‬ ‫هسغیشّا‬

‫‪................................‬‬
‫‪.......‬‬
‫‪58‬‬ ‫‪................................................................................................................................‬‬ ‫اًَاع ػادُ‬

‫‪.........................‬‬
‫‪................................‬‬
‫‪60‬‬ ‫‪................................................................................................‬‬ ‫اػسفادُ اص هسغیشّا‬

‫‪................................‬‬
‫‪......‬‬
‫‪65‬‬ ‫‪................................................................................................................................‬‬ ‫ثاتر ّا‬

‫‪................................‬‬
‫‪66 ................................................................................................................................‬‬ ‫زثذیل ضوٌی‬

‫‪................................‬‬
‫‪68 ................................................................................................................................‬‬ ‫زثذیل صشیح‬

‫‪................................‬‬
‫‪70 ................................................................................................‬‬ ‫زثذیل تا اػسفادُ اص والع ‪Convert‬‬

‫‪.............................‬‬
‫‪71‬‬
‫‪................................................................................................................................‬‬ ‫ػثاساذ ٍ ػولگشّا‬

‫‪.........................‬‬
‫‪................................‬‬
‫‪72‬‬ ‫‪................................................................................................‬‬ ‫ػولگشّای سیاضی‬

‫‪................................‬‬
‫‪76‬‬
‫‪.... ................................................................................................‬‬ ‫ػولگشّای زخصیصی ( جایگضیٌی)‬

‫‪....................‬‬
‫‪................................‬‬
‫‪77‬‬ ‫‪................................................................................................‬‬ ‫ػولگشّای همایؼِ ای‬

‫‪.........................‬‬
‫‪................................‬‬
‫‪79‬‬ ‫‪................................................................................................‬‬ ‫ػولگشّای هٌطمی‬
‫‪............................‬‬
‫‪81‬‬
‫‪................................................................................................................................‬‬ ‫ػولگشّای تیسی‬

‫‪..............................‬‬
‫‪87................................................................................................................................‬‬ ‫زمذم ػولگشّا‬

‫‪........................‬‬
‫‪................................‬‬
‫‪88‬‬ ‫‪................................................................................................‬‬ ‫گشفسي ٍسٍدی اص واستش‬

‫‪............................‬‬
‫‪90‬‬
‫‪................................................................................................................................‬‬ ‫ػاخساسّای زصوین‬

‫‪................................‬‬
‫‪.....‬‬
‫‪90 ................................................................................................................................‬‬ ‫دػسَس ‪if‬‬

‫‪............................‬‬
‫‪94‬‬
‫‪................................................................................................................................‬‬ ‫دػسَس ‪if...else‬‬

‫‪..............................‬‬
‫‪95................................................................................................................................‬‬ ‫ػولگش ؿشطی‬

‫‪.........................‬‬
‫‪................................‬‬
‫‪96‬‬ ‫‪................................................................................................‬‬ ‫دػسَس ‪ if‬چٌذگاًِ‬

‫‪..........................‬‬
‫‪................................‬‬
‫‪99‬‬ ‫‪................................................................................................‬‬ ‫دػسَس ‪ if‬زَ دس زَ‬

‫‪................................‬‬
‫‪.........‬‬
‫‪101‬‬ ‫‪................................................................................................‬‬ ‫اػسفادُ اص ػولگشّای هٌطمی‬

‫‪..........................‬‬
‫‪103‬‬
‫‪................................................................................................................................‬‬ ‫دػسَس ‪Switch‬‬

‫‪................................‬‬
‫‪............‬‬
‫‪107‬‬ ‫‪................................................................................................................................‬‬ ‫زىشاس‬

‫‪.............................‬‬
‫‪108‬‬‫‪................................................................................................................................‬‬ ‫حلمِ ‪While‬‬

‫‪.........................‬‬
‫‪................................‬‬
‫‪109‬‬ ‫‪................................................................................................‬‬ ‫حلمِ ‪do while‬‬

‫‪................................‬‬
‫‪110.. ................................................................................................................................‬‬ ‫حلمِ ‪for‬‬

‫‪................................‬‬
‫‪........‬‬
‫‪112‬‬ ‫‪................................................................‬‬ ‫خاسج ؿذى اص حلمِ تا اػسفادُ اص ‪continue ٍ break‬‬

‫‪................................‬‬
‫‪.........‬‬
‫‪113‬‬ ‫‪................................................................................................................................‬‬ ‫آسایِ ّا‬

‫‪..................‬‬
‫‪................................‬‬
‫‪115‬‬ ‫‪................................................................‬‬ ‫دػسیاتی تِ همادیش آسایِ تا اػسفادُ اص حلمِ ‪for‬‬

‫‪...........................‬‬
‫‪117‬‬
‫‪................................................................................................................................‬‬ ‫حلمِ ‪foreach‬‬

‫‪....................‬‬
‫‪................................‬‬
‫‪118‬‬ ‫‪................................................................................................‬‬ ‫آسایِ ّای چٌذ تؼذی‬

‫‪......................‬‬
‫‪................................‬‬
‫‪120‬‬ ‫‪................................................................‬‬ ‫گشدؽ دس هیاى ػٌاصش آسایِ ّای چٌذ تؼذی‬

‫‪....................‬‬
‫‪................................‬‬
‫‪123‬‬ ‫‪................................................................................................‬‬ ‫آسایِ ّای دًذاًِ داس‬

‫‪................................‬‬
‫‪............‬‬
‫‪126‬‬ ‫‪................................................................................................................................‬‬ ‫هسذّا‬

‫‪................................‬‬
‫‪..............‬‬
‫‪127‬‬ ‫‪................................................................................................‬‬ ‫همذاس تشگـسی اص یه هسذ‬

‫‪.................‬‬
‫‪................................‬‬
‫‪130‬‬ ‫‪................................................................................................‬‬ ‫خاساهسشّا ٍ آسگَهاى ّا‬

‫‪......................‬‬
‫‪................................‬‬
‫‪133‬‬ ‫‪................................................................................................‬‬ ‫ًاهیذى آسگَهاى ّا‬

‫‪................................‬‬
‫‪135‬‬‫‪... ................................................................................................‬‬ ‫اسػال آسگَهاى ّا تِ سٍؽ اسجاع‬

‫‪..........................‬‬
‫‪137‬‬
‫‪................................................................................................................................‬‬ ‫خاساهسشّای ‪out‬‬

‫‪................................‬‬
‫‪........‬‬
‫‪137‬‬ ‫‪................................................................................................‬‬ ‫اسػال آسایِ تِ ػٌَاى آسگَهاى‬
‫‪...................‬‬
‫‪................................‬‬
‫‪140‬‬ ‫‪................................................................................................‬‬ ‫ولوِ ولیذی‪params‬‬

‫‪..............................‬‬
‫‪141................................................................................................................................‬‬ ‫هحذٍد هسغیش‬

‫‪.....................‬‬
‫‪................................‬‬
‫‪141‬‬ ‫‪................................................................................................‬‬ ‫خاساهسشّای اخسیاسی‬

‫‪......................‬‬
‫‪................................‬‬
‫‪143‬‬ ‫‪................................................................................................‬‬ ‫ػشتاسگزاسی هسذّا‬

‫‪................................‬‬
‫‪144‬‬‫‪... ................................................................................................................................‬‬ ‫تاصگـر‬

‫‪...................‬‬
‫‪................................‬‬
‫‪146‬‬ ‫‪................................................................................................‬‬ ‫ًوایٌذُ ّا(‪) Delegates‬‬

‫‪................................‬‬
‫‪..............‬‬
‫‪148‬‬ ‫‪................................................................................................‬‬ ‫ؿواسؽ (‪) Enumeration‬‬

‫‪.......................‬‬
‫‪................................‬‬
‫‪152‬‬ ‫‪................................................................................................‬‬ ‫زثذیل اًَاع ؿواسؽی‬

‫‪................................‬‬
‫‪.......‬‬
‫‪154‬‬ ‫‪................................................................................................................................‬‬ ‫ػاخساسّا‬

‫‪...........................‬‬
‫‪158‬‬
‫‪................................................................‬‬ ‫تشًاهِ ًَیؼی ؿیء گشا) ‪(Object Oriented Programming‬‬

‫‪.......................‬‬
‫‪................................‬‬
‫‪158‬‬ ‫‪................................................................................................‬‬ ‫زؼشیف یه والع‬

‫‪................................‬‬
‫‪161. ................................................................................................................................‬‬ ‫ػاصًذُ ّا‬

‫‪................................‬‬
‫‪..........‬‬
‫‪166‬‬ ‫‪................................................................................................‬‬ ‫هخشب ّا)‪(Destructors‬‬

‫‪................................‬‬
‫‪..............‬‬
‫‪167‬‬ ‫‪................................................................................................‬‬ ‫فیلذّای فمط – خَاًذًی‬

‫‪................................‬‬
‫‪168‬‬
‫‪..... ................................................................................................‬‬ ‫ػطح دػسشػی ػطح دػسشػی‬

‫‪............................‬‬
‫‪170‬‬
‫‪................................................................................................................................‬‬ ‫ودؼَلِ ػاصی‬

‫‪................................‬‬
‫‪171‬‬
‫‪..... ................................................................................................................................‬‬ ‫خَاف‬

‫‪................................‬‬
‫‪177. ................................................................................................................................‬‬ ‫فضای ًام‬

‫‪................................‬‬
‫‪.............‬‬
‫‪181‬‬ ‫‪................................................................................................‬‬ ‫ػاخساسّا دس تشاتش والػْا‬

‫‪Error! Bookmark not‬‬


‫‪.................‬‬
‫‪................................‬‬
‫‪defined.‬‬ ‫‪................................................................‬‬ ‫وساتخاًِ والع‬

‫‪................................‬‬
‫‪191‬‬
‫‪......‬‬ ‫‪................................................................................................................................‬‬ ‫ٍساثر‬

‫‪................................‬‬
‫‪.............‬‬
‫‪194‬‬ ‫‪................................................................................................‬‬ ‫ػطح دػسشػی ‪Protect‬‬

‫‪..........................‬‬
‫‪196‬‬
‫‪................................................................................................................................‬‬ ‫اػضای ‪Static‬‬

‫‪..........................‬‬
‫‪198‬‬
‫‪................................................................................................................................‬‬ ‫هسذّای هجاصی‬

‫‪.......................‬‬
‫‪................................‬‬
‫‪201‬‬ ‫‪................................................................‬‬ ‫والع آتجىر)‪(System.Object Class‬‬

‫‪................................‬‬
‫‪..............‬‬
‫‪202‬‬ ‫‪................................................................................................‬‬ ‫‪Unboxing ٍ Boxing‬‬

‫‪................................‬‬
‫‪.............‬‬
‫‪203‬‬ ‫‪................................................................................................‬‬ ‫زشویة)‪(Containment‬‬

‫‪..................‬‬
‫‪................................‬‬
‫‪206‬‬ ‫‪................................................................................................‬‬ ‫ػشتاسگزاسی ػولگشّا‬

‫‪................................‬‬
‫‪209‬‬‫‪... ................................................................................................................................‬‬ ‫ػولگش‪is‬‬
‫‪.................‬‬
‫‪................................‬‬
‫‪211‬‬ ‫‪................................................................................................‬‬ ‫ساتط ّا (‪) Interfaces‬‬

‫‪...........................‬‬
‫‪214‬‬
‫‪................................................................................................‬‬ ‫والػْای اًسضاػی (‪) Abstract Class‬‬

‫‪.....................‬‬
‫‪................................‬‬
‫‪216‬‬ ‫‪................................................................‬‬ ‫والػْای هْش ٍ هَم ؿذُ (‪) Sealed Class‬‬

‫‪.........................‬‬
‫‪................................‬‬
‫‪217‬‬ ‫‪................................................................‬‬ ‫والع ّای زىِ زىِ (‪) partial-classes‬‬

‫‪................................‬‬
‫‪218 ................................................................................................................................‬‬ ‫چٌذ سیخسی‬

‫‪................................‬‬
‫‪222.. ................................................................................................................................‬‬ ‫ػولگش‪as‬‬

‫‪..................‬‬
‫‪................................‬‬
‫‪223‬‬ ‫‪................................................................................................‬‬ ‫ػشتاسگزاسی زثذیل ّا‬

‫‪................................‬‬
‫‪..............‬‬
‫‪225‬‬ ‫‪................................................................................................‬‬ ‫ایجاد آسایِ ای اص والػْا‬

‫‪................................‬‬
‫‪226. ................................................................................................................................‬‬ ‫ایٌذوؼشّا‬

‫‪................................‬‬
‫‪.............‬‬
‫‪235‬‬ ‫‪................................................................................................‬‬ ‫هذیشیر اػسثٌاءّا ٍ خطایاتی‬

‫‪.................‬‬
‫‪................................‬‬
‫‪235‬‬ ‫‪................................................................................................‬‬ ‫اػسثٌاءّای اداسُ ًـذُ‬

‫‪................................‬‬
‫‪...............‬‬
‫‪238‬‬ ‫‪................................................................................................‬‬ ‫دػسَساذ ‪catch ٍ try‬‬

‫‪................................‬‬
‫‪..............‬‬
‫‪242‬‬ ‫‪................................................................................................‬‬ ‫اػسفادُ اص تلَن‪finally‬‬

‫‪.............................‬‬
‫‪243‬‬‫‪................................................................................................................................‬‬ ‫ایجاد اػسثٌاء‬

‫‪................................‬‬
‫‪244‬‬
‫‪..... ................................................................................................‬‬ ‫زؼشیف یه اػسثٌاء زَػط واستش‬

‫‪....................‬‬
‫‪................................‬‬
‫‪246‬‬ ‫‪................................................................................................‬‬ ‫خَاف‪Exception‬‬

‫‪................................‬‬
‫‪250‬‬
‫‪.... ................................................................................................‬‬ ‫اؿىال صدایی زَػط ٍیظٍال اػسَدیَ‬

‫‪................................‬‬
‫‪250. ................................................................................................‬‬ ‫ًمطِ اًفصال)‪(Breakpoints‬‬

‫‪................................‬‬
‫‪............‬‬
‫‪255‬‬ ‫‪................................................................................................‬‬ ‫لذم صدى دس هیاى وذّا‬

‫‪................................‬‬
‫‪260‬‬‫‪... ................................................................................................‬‬ ‫تِ دػر آٍسدى همادیش هسغیشّا‬

‫‪................................‬‬
‫‪.............‬‬
‫‪267‬‬ ‫‪................................................................................................‬‬ ‫هجوَػِ ّا) ‪(Collections‬‬

‫‪....................‬‬
‫‪................................‬‬
‫‪268‬‬ ‫‪................................................................................................‬‬ ‫والع ‪ArrayList‬‬

‫‪....................‬‬
‫‪................................‬‬
‫‪274‬‬ ‫‪................................................................................................‬‬ ‫ایجاد یه ولىؼیَى‬

‫‪.......................‬‬
‫‪................................‬‬
‫‪276‬‬ ‫‪................................................................................................‬‬ ‫ػاخر دیىـٌشی‬

‫‪................................‬‬
‫‪..........‬‬
‫‪279‬‬ ‫‪................................................................................................‬‬ ‫‪ Hashtable‬دس ػی ؿاسج‬

‫‪................................‬‬
‫‪.............‬‬
‫‪268‬‬ ‫‪................................................................‬‬ ‫ولىؼیَى ّای ػوَهی)‪(Generic Collections‬‬

‫‪...................‬‬
‫‪................................‬‬
‫‪289‬‬ ‫‪................................................................................................‬‬ ‫جٌشیه ّا)‪(Generics‬‬

‫‪..........................‬‬
‫‪290‬‬
‫‪................................................................................................................................‬‬ ‫هسذّای جٌشیه‬

‫‪.....................‬‬
‫‪................................‬‬
‫‪293‬‬ ‫‪................................................................................................‬‬ ‫والع ّای جٌشیه‬
‫‪............................‬‬
‫‪295‬‬
‫‪................................................................................................................................‬‬ ‫هحذٍدیر ًَع‬

‫‪................................‬‬
‫‪296‬‬
‫‪......‬‬ ‫‪................................................................................................................................‬‬ ‫اًَاع زْی‬

‫‪................................‬‬
‫‪.......‬‬
‫‪299‬‬ ‫‪................................................................................................................................‬‬ ‫سٍیذاد ّا‬

‫‪........................‬‬
‫‪................................‬‬
‫‪301‬‬ ‫‪................................................................‬‬ ‫هسذّای تی ًام)‪(Anonymous Methods‬‬

‫‪................................‬‬
‫‪302.. ................................................................................................................................‬‬ ‫‪Initializer‬‬
‫‪................................‬‬
‫‪304‬‬
‫‪..... ................................................................................................‬‬ ‫ًَع اػسٌثاطی)‪(Type Inference‬‬

‫‪................................‬‬
‫‪305 ................................................................................................‬‬ ‫اًَاع تی ًام)‪(Anonymous Types‬‬

‫‪........................‬‬
‫‪................................‬‬
‫‪305‬‬ ‫‪................................................................................................‬‬ ‫هسذّای زَػؼِ یافسِ‬

‫‪...........................‬‬
‫‪308‬‬
‫‪................................................................................................‬‬ ‫ػثاساذ الهثذا)‪(Lambda expressions‬‬

‫‪.......................‬‬
‫‪................................‬‬
‫‪312‬‬ ‫‪................................................................................................‬‬ ‫تشًاهِ ًَیؼی ٍیظٍال‬

‫‪................................‬‬
‫‪..........‬‬
‫‪313‬‬ ‫‪................................................................................................‬‬ ‫ایجاد یه تشًاهِ ٍیٌذٍصی ػادُ‬

‫‪..........................‬‬
‫‪323‬‬
‫‪................................................................................................................................‬‬ ‫وٌسشل وٌٌذُ سٍیذاد‬

‫‪..........................‬‬
‫‪329‬‬
‫‪................................................................................................‬‬ ‫جذا وشدى هحیط طشاحی اص هحیط وذًَیؼی‬

‫‪.....................‬‬
‫‪................................‬‬
‫‪330‬‬ ‫‪................................................................................................‬‬ ‫والع ‪MessageBox‬‬

‫‪................................‬‬
‫‪........‬‬
‫‪333‬‬ ‫‪................................................................................................................................‬‬ ‫وٌسشل ّا‬

‫‪......................‬‬
‫‪................................‬‬
‫‪344‬‬ ‫‪................................................................................................‬‬ ‫ًاهگزاسی وٌسشل ّا‬

‫‪................................‬‬
‫‪346‬‬
‫‪.... ................................................................................................................................‬‬ ‫ٍیٌذٍص فشم‬

‫‪...........................‬‬
‫‪355‬‬
‫‪................................................................................................................................‬‬ ‫وٌسشل‪Button‬‬

‫‪............................‬‬
‫‪358‬‬
‫‪................................................................................................................................‬‬ ‫وٌسشل‪Label‬‬

‫‪........................‬‬
‫‪................................‬‬
‫‪358‬‬ ‫‪................................................................................................‬‬ ‫وٌسشل‪TextBox‬‬

‫‪.................‬‬
‫‪................................‬‬
‫‪362‬‬ ‫‪................................................................................................‬‬ ‫وٌسشل‪RichTextBox‬‬

‫‪................‬‬
‫‪................................‬‬
‫‪370‬‬ ‫‪................................................................................................‬‬ ‫وٌسشل ‪RadioButton‬‬

‫‪....................‬‬
‫‪................................‬‬
‫‪372‬‬ ‫‪................................................................................................‬‬ ‫وٌسشل ‪CheckBox‬‬

‫‪.........................‬‬
‫‪................................‬‬
‫‪375‬‬ ‫‪................................................................................................‬‬ ‫وٌسشل ‪ListBox‬‬

‫‪................................‬‬
‫‪379 ................................................................................................‬‬ ‫وٌسشل ّای ‪GroupBox ٍ Panel‬‬

‫‪...................‬‬
‫‪................................‬‬
‫‪381‬‬ ‫‪................................................................................................‬‬ ‫وٌسشل ‪ComboBox‬‬

‫‪................................‬‬
‫‪..........‬‬
‫‪385‬‬ ‫‪................................................................................................‬‬ ‫وٌسشل ‪CheckedListBox‬‬

‫‪................................‬‬
‫‪........‬‬
‫‪389‬‬ ‫‪................................................................................................‬‬ ‫وٌسشل ‪NumericUpDown‬‬

‫‪...................‬‬
‫‪................................‬‬
‫‪392‬‬ ‫‪................................................................................................‬‬ ‫وٌسشل ‪PictureBox‬‬
....................
................................
395 ................................................................................................ LinkLable ‫وٌسشل‬

................................
...........
399 ................................................................................................ MonthCalendar ‫وٌسشل‬

........................
................................
402 ................................................................................................ NotifyIcon ‫وٌسشل‬

................................
..........
405 ................................................................................................ DateTimePicker ‫وٌسشل‬

..................
................................
409 ................................................................................................ TabControl ‫وٌسشل‬

........................
................................
417 ................................................................................................ ToolTip ‫وٌسشل‬

................................
.............
420 ................................................................................................ The TrackBar‫وٌسشل‬

...........................
423
................................................................................................................................ Timer‫وٌسشل‬

................................
425
..... ................................................................................................ FileSystemWatcher‫وٌسشل‬

.................
................................
428 ................................................................................................ ‫طشاحی فشم ّای ٍیٌذٍصی‬

.......................
................................
434 ................................................................................................ Anchor ‫خاصیر‬

...........................
439
................................................................................................................................ Dock ‫خاصیر‬

...................
................................
443 ................................................................................................ TabIndex ‫خاصیر‬

....................
................................
444 ................................................................................................ ‫اضافِ وشدى هٌَ تِ فشم‬

..............................
453................................................................................................................................ ‫ػاخر ًَاس اتضاس‬

................................
465
.... ................................................................................................ ToolStripContainer ‫وٌسشل‬

.........................
................................
469 ................................................................................................ ‫وادسّای هحاٍسُ ای‬

.................
................................
472 ................................................................................................ ColorDialog‫وٌسشل‬

....................
................................
475 ................................................................................................ FontDialog‫وٌسشل‬

................................
477. ................................................................................................ FolderBrowserDialog ‫وٌسشل‬

................................
...........
482 ................................................................................................ OpenFileDialog ‫وٌسشل‬

................................
.............
486 ................................................................................................ SaveFileDialog ‫وٌسشل‬

............................
491
................................................................................................................................ ‫سٍیذادّای هاٍع‬

............................
496
................................................................................................................................ ‫سٍیذادّای ویثَسد‬

..............................
499................................................................................................................................ UserControl
................................
509 ................................................................................................ ‫ایجاد فشم ّای چٌذ گاًِ دس ػی ؿاسج‬

................
................................
511 ................................................................ ‫ ) دس ػی ؿاسج‬Modal Forms( ‫فشم ّای ؿشطی‬

................................
............
514 ................................................................................................ ‫دسیافر همادیش اص دیگش فشم ّا‬

................................
............
518 ................................................................................................ System.DateTime ‫والع‬
‫‪................................‬‬
‫‪..............‬‬
‫‪522‬‬ ‫‪................................................................................................‬‬ ‫هحاػثِ اخسالف دٍ زاسیخ‬

‫‪...................‬‬
‫‪................................‬‬
‫‪527‬‬ ‫‪................................................................................................‬‬ ‫‪ System.Math‬والع‬

‫‪..........................‬‬
‫‪531‬‬
‫‪................................................................................................................................‬‬ ‫ایجاد ػذد زصادفی‬

‫‪................................‬‬
‫‪533‬‬
‫‪......‬‬ ‫‪................................................................................................‬‬ ‫سؿسِ ّا ٍ ػثاساذ تا لاػذُ (هٌظن)‬

‫‪................................‬‬
‫‪...............‬‬
‫‪534‬‬ ‫‪................................................................................................‬‬ ‫والع‪System.String‬‬

‫‪.........................‬‬
‫‪................................‬‬
‫‪536‬‬ ‫‪................................................................................................‬‬ ‫همایؼِ سؿسِ ّا‬

‫‪...........................‬‬
‫‪538‬‬
‫‪................................................................................................................................‬‬ ‫الحاق سؿسِ ّا‬

‫‪............................‬‬
‫‪539‬‬
‫‪................................................................................................‬‬ ‫جا دادى یه سؿسِ دس داخل سؿسِ دیگش‬

‫‪................................‬‬
‫‪.........‬‬
‫‪540‬‬ ‫‪................................................................‬‬ ‫اضافِ وشدى واساوسش تِ ػور چح یا ساػر یه سؿسِ‬

‫‪................................‬‬
‫‪..............‬‬
‫‪541‬‬ ‫‪................................................................................................‬‬ ‫حزف صائذُ ّا اص سؿسِ ّا‬

‫‪.......................‬‬
‫‪................................‬‬
‫‪542‬‬ ‫‪................................................................................................‬‬ ‫جذاوشدى سؿسِ ّا‬

‫‪................................‬‬
‫‪.............‬‬
‫‪544‬‬ ‫‪................................................................................................‬‬ ‫جؼسجَ وشدى دس سؿسِ ّا‬

‫‪.......................‬‬
‫‪................................‬‬
‫‪547‬‬ ‫‪................................................................‬‬ ‫اػسخشاج‪ ،‬حزف ٍ جایگضیي وشدى سؿسِ ّا‬

‫‪...........................‬‬
‫‪549‬‬
‫‪................................................................................................‬‬ ‫زغییش تضسگی ٍ وَچىی حشٍف یه سؿسِ‬

‫‪................................‬‬
‫‪...............‬‬
‫‪551‬‬ ‫‪................................................................................................‬‬ ‫والع‪StringBuilder‬‬

‫‪........................‬‬
‫‪................................‬‬
‫‪553‬‬ ‫‪................................................................‬‬ ‫اػسثاس ػٌجی تا اػسفادُ اص ػثاساذ تالاػذُ‬

‫‪...............................‬‬
‫‪557................................................................................................................................‬‬ ‫‪File System‬‬
‫‪................................‬‬
‫‪.............‬‬
‫‪558‬‬ ‫‪................................................................................................‬‬ ‫آدسع ّای هطلك ٍ ًؼثی‬

‫‪................................‬‬
‫‪............‬‬
‫‪558‬‬ ‫‪................................................................................................‬‬ ‫والع‪System.IO.File‬‬

‫‪................................‬‬
‫‪561‬‬
‫‪..... ................................................................................................‬‬ ‫والع ‪System.IO.FileInfo‬‬

‫‪................................‬‬
‫‪562.. ................................................................................................‬‬ ‫والع‪System.IO.Directory‬‬

‫‪...........................‬‬
‫‪565‬‬
‫‪................................................................................................‬‬ ‫والع ‪System.IO.DirectoryInfo‬‬

‫‪................................‬‬
‫‪............‬‬
‫‪567‬‬ ‫‪................................................................................................‬‬ ‫والع‪System.IO.Path‬‬

‫‪................................‬‬
‫‪..............‬‬
‫‪570‬‬ ‫‪................................................................................................‬‬ ‫ًَؿسي دس یه فایل هسٌی‬

‫‪................................‬‬
‫‪..............‬‬
‫‪573‬‬ ‫‪................................................................................................‬‬ ‫خَاًذى اص یه فایل هسٌی‬

‫‪................................‬‬
‫‪575‬‬
‫‪......‬‬ ‫‪................................................................‬‬ ‫فـشدُ وشدى ٍ اص حالر فـشدُ دس آٍسدى یه فایل هسٌی‬

‫‪..............................‬‬
‫‪580................................................................................................‬‬ ‫صتاى ًـاًِ گزاسی زَػؼِ خزیش)‪(XML‬‬

‫‪...........................‬‬
‫‪583‬‬
‫‪................................................................................................‬‬ ‫‪XML Document Object Model‬‬
‫‪................................‬‬
‫‪...........‬‬
‫‪588‬‬ ‫‪................................................................................................‬‬ ‫ًَؿسي دس یه فایل ‪XML‬‬
‫‪.................‬‬
‫‪................................‬‬
‫‪593‬‬ ‫‪................................................................................................‬‬ ‫خَاًذى اص فایل ‪XML‬‬

‫‪...........................‬‬
‫‪598‬‬
‫‪................................................................................................‬‬ ‫اػسفادُ اص ‪ XPath‬تشای اًسخاب گشُ ّا‬

‫‪................................‬‬
‫‪...........‬‬
‫‪602‬‬ ‫‪................................................................................................‬‬ ‫اػسفادُ اص فًَر دس ػی ؿاسج‬

‫‪................................‬‬
‫‪...............‬‬
‫‪606‬‬ ‫‪................................................................................................‬‬ ‫ٍیشایؾ فًَر ّا (هثال)‬

‫‪................................‬‬
‫‪.........‬‬
‫‪611‬‬ ‫‪................................................................................................................................‬‬ ‫‪LINQ‬‬
‫‪...........................‬‬
‫‪613‬‬
‫‪................................................................................................................................‬‬ ‫ػثاساذ خشع ٍ جَ‬

‫‪......................‬‬
‫‪................................‬‬
‫‪615‬‬ ‫‪................................................................................................‬‬ ‫اػسفادُ اص سٍؽ هسذی‬

‫‪................................‬‬
‫‪618. ................................................................................................................................‬‬ ‫ػثاسذ‪from‬‬

‫‪...............................‬‬
‫‪624................................................................................................................................‬‬ ‫ػثاسذ‪Select‬‬

‫‪...............................‬‬
‫‪629................................................................................................................................‬‬ ‫ػثاسذ‪where‬‬

‫‪............................‬‬
‫‪631‬‬
‫‪................................................................................................................................‬‬ ‫ػثاسذ‪orderby‬‬

‫‪................................‬‬
‫‪636‬‬
‫‪..... ................................................................................................................................‬‬ ‫ػثاسذ‪let‬‬

‫‪..........................‬‬
‫‪637‬‬
‫‪................................................................................................................................‬‬ ‫ػثاسذ‪group-by‬‬

‫‪...........................‬‬
‫‪640‬‬
‫‪................................................................................................................................‬‬ ‫هسذ )(‪GroupBy‬‬

‫‪........................‬‬
‫‪................................‬‬
‫‪640‬‬ ‫‪................................................................................................‬‬ ‫ازصال هٌاتغ دادُ ای‬

‫‪.....................‬‬
‫‪................................‬‬
‫‪642‬‬ ‫‪................................................................‬‬ ‫ػثاسذ ‪ - join‬اًجام یه ػول‪inner join‬‬

‫‪..................‬‬
‫‪................................‬‬
‫‪645‬‬ ‫‪................................................................‬‬ ‫ػثاسذ ‪ - Join‬اًجام یه ػول‪Group Join‬‬

‫‪................................‬‬
‫‪...........‬‬
‫‪648‬‬ ‫‪................................................................‬‬ ‫ػثاسذ ‪ - Join‬اًجام یه ػول‪Left Outer Join‬‬

‫‪..........................‬‬
‫‪649‬‬
‫‪................................................................................................................................‬‬ ‫‪LINQ to XML‬‬
‫‪................................‬‬
‫‪651‬‬
‫‪......‬‬ ‫‪................................................................‬‬ ‫ایجاد یه ػٌذ ‪ XML‬تا اػسفادُ اص‪LINQ to XML‬‬

‫‪................................‬‬
‫‪..............‬‬
‫‪655‬‬ ‫‪................................................................................................‬‬ ‫‪ ٍ ADO.NET‬دیساتیغ ّا‬

‫‪................................‬‬
‫‪..............‬‬
‫‪655‬‬ ‫‪................................................................................................‬‬ ‫ًصة ‪SQL Server 2008‬‬

‫‪................................‬‬
‫‪.......‬‬
‫‪667‬‬ ‫‪................................................................................................‬‬ ‫ایجاد یه جذٍل ٍ دیساتیغ ػادُ‬

‫‪................................‬‬
‫‪.........‬‬
‫‪683‬‬ ‫‪................................................................‬‬ ‫ازصال تِ دیساتیغ تا اػسفادُ اص اتضاسّای ٍیظٍال اػسَدیَ‬

‫‪...............................‬‬
‫‪693................................................................................................‬‬ ‫سؿسِ ازصال( ‪) Connection Strings‬‬

‫‪...........................‬‬
‫‪696‬‬
‫‪................................................................................................................................‬‬ ‫‪Data Provider‬‬
‫‪..................‬‬
‫‪................................‬‬
‫‪697‬‬ ‫‪................................................................................................‬‬ ‫والع‪Connection‬‬

‫‪....................‬‬
‫‪................................‬‬
‫‪700‬‬ ‫‪................................................................................................‬‬ ‫والع ‪command‬‬

‫‪..................‬‬
‫‪................................‬‬
‫‪702‬‬ ‫‪................................................................................................‬‬ ‫والع ‪Parameter‬‬
‫‪................‬‬
‫‪................................‬‬
‫‪705‬‬ ‫‪................................................................................................‬‬ ‫والع ‪DataReader‬‬

‫‪................................‬‬
‫‪..............‬‬
‫‪707‬‬ ‫‪................................................................................................‬‬ ‫والع ‪DataAdapter‬‬

‫‪........................‬‬
‫‪................................‬‬
‫‪710‬‬ ‫‪................................................................................................‬‬ ‫والع‪DataSet‬‬

‫‪....................‬‬
‫‪................................‬‬
‫‪712‬‬ ‫‪................................................................................................‬‬ ‫ازصال تِ دیساتیغ تا وذ‬

‫‪................................‬‬
‫‪..............‬‬
‫‪712‬‬ ‫‪................................................................‬‬ ‫)‪ (Connected‬خشع ٍ جَ دس دیساتیغ‪ :‬سٍؽ هسصل‬

‫‪................................‬‬
‫‪717‬‬
‫‪.... ................................................................‬‬ ‫خشع ٍ جَ دس دیساتیغ‪ :‬سٍؽ غیش هسصل )‪(Disconnected‬‬

‫‪................................‬‬
‫‪.........‬‬
‫‪721‬‬ ‫‪................................................................................................‬‬ ‫اضافِ وشدى سوَسد‪ :‬سٍؽ هسصل‬

‫‪................................‬‬
‫‪724‬‬‫‪... ................................................................................................‬‬ ‫اضافِ وشدى سوَسد‪ :‬سٍؽ غیش هسصل‬

‫‪................................‬‬
‫‪728‬‬
‫‪......‬‬ ‫‪................................................................................................‬‬ ‫خان وشدى یه سوَسد‪ :‬سٍؽ هسصل‬

‫‪...............................‬‬
‫‪731................................................................................................‬‬ ‫خان وشدى یه سوَسد ‪ :‬سٍؽ غیش هسصل‬

‫‪................................‬‬
‫‪.......‬‬
‫‪735‬‬ ‫‪................................................................................................‬‬ ‫تشٍصسػاًی سوَسدّا ‪ :‬سٍؽ هسصل‬

‫‪................................‬‬
‫‪738.. ................................................................................................‬‬ ‫تشٍصسػاًی سوَسدّا ‪ :‬سٍؽ غیش هسصل‬

‫‪................................‬‬
‫‪...............‬‬
‫‪742‬‬ ‫‪................................................................................................‬‬ ‫ازصال تِ دیساتیغ‪Access‬‬

‫‪................................‬‬
‫‪.........‬‬
‫‪744‬‬ ‫‪................................................................................................‬‬ ‫خشع ٍ جَ دس دیساتیغ‪Access‬‬
‫تِ ًام خذا‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫هشٍسی تش تشًاهِ ًَیؼی‬


‫ز٘یبی ثط٘بٔ‪ٛ٘ ٝ‬یؿی ز٘یبی فدیجی اؾز‪ .‬ثط٘بٔ‪ٛ٘ ٝ‬یؿی ث‪ ٝ‬قٕب اخبظ‪ٔ ٜ‬ی ز‪ٞ‬س و‪ ٝ‬ثب وبٔذی‪ٛ‬سطسبٖ ٔب٘‪ٙ‬س یه ضئیؽ ضفشبض و‪ٙ‬یس‪.‬‬
‫ثط٘بٔ‪ٛ٘ ٝ‬یؿی ٔی س‪ٛ‬ا٘س قغُ یب سفطیح قٕب ثبقس‪ .‬أب ‪ٞ‬سف انّی اظ ثط٘بٔ‪ٛ٘ ٝ‬یؿی اضائ‪ ٝ‬ضا‪ ٜ‬حّی ثطای ثطعطف وطزٖ ٔكىالر‬
‫ٔرشّف اؾز‪ .‬ثط٘بٔ‪ٛ٘ ٝ‬یؿی ‪ٙٞ‬ط ثطعطف وطزٖ ٔكىالر ثب اؾشفبز‪ ٜ‬اظ وس اؾز‪ٔ .‬ب ٔی س‪ٛ‬ا٘یٓ ثب اؾشفبز‪ ٜ‬اظ ظثب٘‪ٟ‬بی ثط٘بٔ‪ٛ٘ ٝ‬یؿی‬
‫ثط٘بٔ‪ ٝ‬ث‪ٛٙ‬یؿیٓ‪ .‬ظثب٘‪ٟ‬بی ثط٘بٔ‪ٛ٘ ٝ‬یؿی ظیبزی ‪ٚ‬خ‪ٛ‬ز زاض٘س و‪ ٝ‬اظ ایٗ ثیٗ چ‪ٙ‬سیٗ ظثبٖ اظ ثمی‪ٔ ٝ‬ك‪ٟٛ‬ضسط ٔی ثبق‪ٙ‬س‪.‬ظثب٘‪ٟ‬بی ثط٘بٔ‪ٝ‬‬
‫٘‪ٛ‬یؿی ث‪ٔ ٝ‬ط‪ٚ‬ض ظٔبٖ ٌؿشطـ ‪ ٚ‬سىبُٔ ٔی یبث‪ٙ‬س‪ٚ .‬لشی و‪ٔ ٝ‬ی ذ‪ٛ‬ا‪ٞ‬یس یه ظثبٖ ثط٘بٔ‪ٛ٘ ٝ‬یؿی ضا یبز ثٍیطیس اثشسا ثبیس یه ظثبٖ‬
‫٘‪ٛ‬یؿی ثط٘بٔ‪ٝ‬‬
‫‪،‬‬ ‫ثط٘بٔ‪ٛ٘ ٝ‬یؿی ا٘شربة و‪ٙ‬یس‪ .‬أب وساْ ظثبٖ ثط٘بٔ‪ٛ٘ ٝ‬یؿی ضا ثبیس ا٘شربة وطز؟ قبیس یىی اظ ث‪ٟ‬شطیٗ ظثب٘‪ٟ‬بی ثط٘بٔ‪ٝ‬‬
‫ؾی قبضح ثبقس‪ .‬زض ایٗ وشبة ٔب ث‪ ٝ‬قٕب ٘ح‪ ٜٛ‬ثط٘بٔ‪ٛ٘ ٝ‬یؿی ث‪ ٝ‬ظثبٖ ؾی قبضح ضا ث‪ ٝ‬ن‪ٛ‬ضر سه‪ٛ‬یطی آٔ‪ٛ‬ظـ ٔی ز‪ٞ‬یٓ‪ .‬ؾقی‬
‫و‪ٙ‬یس حشٕب ثقس اظ ذ‪ٛ‬ا٘سٖ وشبة وس‪ٞ‬بی آٖ ضا ث‪ ٝ‬ن‪ٛ‬ضر فّٕی سٕطیٗ و‪ٙ‬یس ‪ ٚ‬ای‪ٙ‬ى‪ ٝ‬لبثّیز ‪ٔ ٚ‬ف‪ ْٟٛ‬وس‪ٞ‬ب ضا ثف‪ٕٟ‬یس‪ ٝ٘ ،‬آ٘‪ٟ‬ب ضا‬
‫حفؼ و‪ٙ‬یس‪.‬‬

‫داذ ًر فشین ٍسن ( ‪ ).NET Framework‬چیؼر؟‬

‫‪ .NET Framework‬یه چبضچ‪ٛ‬ة اؾز و‪ ٝ‬س‪ٛ‬ؾظ قطوز ٔبیىط‪ٚ‬ؾبفز ثطای س‪ٛ‬ؾق‪ ٝ‬ا٘‪ٛ‬اؿ ٘طْ افعاض‪ٞ‬ب فّی اِره‪ٛ‬ل ‪ٚ‬ی‪ٙ‬س‪ٚ‬ظ‬
‫عطاحی قس‪ٕٞ .NET Framework.‬چ‪ٙ‬یٗ ٔی س‪ٛ‬ا٘س ثطای س‪ٛ‬ؾق‪٘ ٝ‬طْ افعاض‪ٞ‬بی سحز ‪ٚ‬ة ٔ‪ٛ‬ضز اؾشفبز‪ ٜ‬لطاض ثٍیطز‪ .‬سب و‪ٖٛٙ‬‬
‫چ‪ٙ‬سیٗ ٘ؿر‪ ٝ‬اظ ‪ .NET Framework‬ا٘شكبض یبفش‪ ٝ‬و‪ٞ ٝ‬ط ثبض لبثّیش‪ٟ‬بی خسیسی ث‪ ٝ‬آٖ اضبف‪ ٝ‬قس‪ ٜ‬اؾز‪.‬‬

‫‪ .NET Framework‬قبُٔ وشبثرب٘‪ ٝ‬والؼ ٔحیظ وبضی)‪ (FCL‬و‪ ٝ‬زض ثط ٌیط٘س‪ ٜ‬والؼ ‪ٞ‬ب‪ ،‬ؾبذشبض‪ٞ‬ب‪،‬زاز‪ٞ ٜ‬بی قٕبضقی ‪....ٚ‬‬
‫ٔی ثبقس‪ٕٟٔ .‬شطیٗ لؿٕز ‪ .NET Framework‬ظثبٖ ٔكشطن ظٔبٖ اخطا )‪ (CLR‬اؾز‪ ،‬و‪ٔ ٝ‬حیغی ضا فطا‪ٔ ٓٞ‬ی آ‪ٚ‬ضز و‪ٝ‬‬
‫ثط٘بٔ‪ٞ ٝ‬ب زض آٖ اخطا ق‪٘ٛ‬س‪ .‬ایٗ چبضچ‪ٛ‬ة ٔب ضا لبزض ٔی ؾبظز و‪ ٝ‬ثط٘بٔ‪ٞ ٝ‬بیی و‪ ٝ‬سحز آٖ ٘‪ٛ‬قش‪ ٝ‬قس‪ ٜ‬ا٘س افٓ اظ ‪، C#.Net‬‬
‫‪ C++ ٚ Visual Basic.Net‬ضا ث‪ٟ‬شط زضن و‪ٙ‬یٓ‪ .‬وس‪ٞ‬بیی و‪ ٝ‬سحز‪ ٚ CLR‬زار ٘ز اخطا ٔی ق‪٘ٛ‬س وس‪ٞ‬بی ٔسیطیز قس‪٘ ٜ‬بٔیس‪ٜ‬‬
‫ٔی ق‪٘ٛ‬س‪ ،‬چ‪ CLR ٖٛ‬خ‪ٙ‬ج‪ٞ ٝ‬بی ٔرشّف ٘طْ افعاض ضا زض ظٔبٖ اخطا ٔسیطیز ٔی و‪ٙ‬س‪ .‬زض ظٔبٖ وبٔذبیُ وس‪ٞ‬ب ث‪ ٝ‬ظثبٖ ٔكشطن‬
‫ٔیب٘ی )‪ (CIL‬و‪٘ ٝ‬عزیه ‪ ٚ‬سمطیجب قجی‪ ٝ‬ث‪ ٝ‬ظثبٖ اؾٕجّی اؾز سطخٕ‪ٔ ٝ‬ی ق‪٘ٛ‬س‪ٔ .‬ب ثبیس وس‪ٞ‬بیٕبٖ ضا ث‪ ٝ‬ایٗ ظثبٖ سطخٕ‪ ٝ‬و‪ٙ‬یٓ‪،‬‬
‫چ‪ ٖٛ‬فمظ ایٗ ظثبٖ ثطای زار ٘ز لبثُ ف‪ ٟٓ‬اؾز‪ .‬ثطای ٔثبَ وس‪ٞ‬بی ‪ٞ Visual Basic.Net ٚ C#‬ط ز‪ ٚ‬ث‪ ٝ‬ظثبٖ ٔكشطن ٔیب٘ی‬
‫(‪ )CIL‬سطخٕ‪ٔ ٝ‬ی ق‪٘ٛ‬س‪ .‬ث‪ٕٞ ٝ‬یٗ زِیُ اؾز و‪ ٝ‬ثط٘بٔ‪ٞ ٝ‬بی ٔرشّف زض زار ٘ز و‪ ٝ‬ثب ظثبٖ ‪ٞ‬بی ٔشفب‪ٚ‬سی ٘‪ٛ‬قش‪ ٝ‬قس‪ ٜ‬ا٘س‪ٔ ،‬ی‬
‫س‪ٛ‬ا٘‪ٙ‬س ثب ‪ ٓٞ‬اضسجبط ثطلطاض و‪ٙٙ‬س‪ .‬اٌط یه ظثبٖ ؾبظٌبض ثب زار ٘ز ٔی ذ‪ٛ‬ا‪ٞ‬یس ثبیس یه وبٔذبیّط ایدبز و‪ٙ‬یس و‪ ٝ‬وس‪ٞ‬بی قٕب ضا ث‪ٝ‬‬
‫ظثبٖ ٔیب٘ی سطخٕ‪ ٝ‬و‪ٙ‬س‪ .‬وس‪ٞ‬بی سطخٕ‪ ٝ‬قس‪ ٜ‬س‪ٛ‬ؾظ‪ CIL‬زض یه فبیُ اؾٕجّی ٔب٘‪ٙ‬س‪ .exe‬یب ‪ .dll‬شذیط‪ٔ ٜ‬ی ق‪٘ٛ‬س‪.‬وس‪ٞ‬بی سطخٕ‪ٝ‬‬
‫قس‪ ٜ‬ث‪ ٝ‬ظثبٖ ٔیب٘ی ث‪ ٝ‬وبٔذبیّط فمظ زض ظٔبٖ)‪ٙٔ (JIT‬شمُ ٔی ق‪٘ٛ‬س‪ .‬ایٗ وبٔذبیّط زض ِحؾ‪ ٝ‬فمظ وس‪ٞ‬بیی ضا و‪ ٝ‬ثط٘بٔ‪ ٝ‬زض آٖ ظٔبٖ‬
‫٘یبظ زاضز ث‪ ٝ‬ظثبٖ ٔبقیٗ سطخٕ‪ٔ ٝ‬ی و‪ٙ‬س‪.‬‬

‫زض ظیط ٘ح‪ ٜٛ‬سجسیُ وس‪ٞ‬بی ؾی قبضح ث‪ ٝ‬یه ثط٘بٔ‪ ٝ‬اخطایی ث‪ ٝ‬ع‪ٛ‬ض ذالن‪ ٝ‬آٔس‪ ٜ‬اؾز ‪:‬‬

‫ثط٘بٔ‪ٛ٘ ٝ‬یؽ ثط٘بٔ‪ ٝ‬ذ‪ٛ‬ز ضا ثب یه ظثبٖ زار ٘ز ٔب٘‪ٙ‬س ؾی قبضح ٔی ٘‪ٛ‬یؿس‪.‬‬

‫‪12‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫وس‪ٞ‬بی ؾی قبضح ث‪ ٝ‬وس‪ٞ‬بی ٔقبزَ آٖ زض ظثبٖ ٔیب٘ی سجسیُ ٔی ق‪٘ٛ‬س‪.‬‬

‫وس‪ٞ‬بی ظثبٖ ٔیب٘ی زض یه فبیُ اؾٕجّی شذیط‪ٔ ٜ‬ی ق‪٘ٛ‬س‪.‬‬

‫‪ٚ‬لشی وس‪ٞ‬ب اخطا ٔی ق‪٘ٛ‬س وبٔذبیّط‪ JIT‬وس‪ٞ‬بی ظثبٖ ٔیب٘ی ضا زض ِحؾ‪ ٝ‬ث‪ ٝ‬وس‪ٞ‬بیی و‪ ٝ‬ثطای وبٔذی‪ٛ‬سط لبثُ ذ‪ٛ‬ا٘سٖ ثبق‪ٙ‬س‪ ،‬سجسیُ‬
‫ٔی و‪ٙ‬س‪.‬‬

‫زار ٘ز ‪ٚ‬یػٌی زیٍطی ث‪٘ ٝ‬بْ ؾیؿشٓ ٘‪ٛ‬ؿ ٔكشطن (‪٘ )CTS‬یع زاضز و‪ ٝ‬ثركی اظ‪ CLR‬اؾز ‪٘ ٚ‬مك‪ ٝ‬ای اؾز ثطای ٔقبزَ ؾبظی‬
‫ا٘‪ٛ‬اؿ زاز‪ٞ ٜ‬ب زض زار ٘ز ‪ .‬ثب‪ٛ٘ CTS‬ؿ ‪ int‬زض ؾی قبضح ‪ٛ٘ ٚ‬ؿ‪ Integer‬زض ‪ٚ‬یػ‪ٚ‬اَ ثیؿیه یىؿبٖ ‪ٞ‬ؿش‪ٙ‬س‪ ،‬چ‪ٞ ٖٛ‬ط ز‪ ٚ‬اظ ٘‪ٛ‬ؿ‬
‫‪ٔ System.Int32‬كشك ٔی ق‪٘ٛ‬س‪ .‬دبن وطزٖ ذب٘‪ٞ ٝ‬بی ثال اؾشفبز‪ ٜ‬حبفؾ‪ ٝ‬زض یه فبیُ(‪ )Garbage collection‬یىی زیٍط اظ‬
‫‪ٚ‬یػٌی‪ٟ‬بی زار ٘ز فطیٓ ‪ٚ‬ضن اؾز‪ٍٙٞ .‬بٔی و‪ ٝ‬اظ ٔ‪ٙ‬بثقی‪ ،‬ظیبز اؾشفبز‪٘ ٜ‬ك‪ٛ‬ز زار ٘ز فطیٓ ‪ٚ‬ضن حبفؾ‪ ٝ‬اؾشفبز‪ ٜ‬قس‪ ٜ‬س‪ٛ‬ؾظ‬
‫ثط٘بٔ‪ ٝ‬ضا آظاز ٔی و‪ٙ‬س‪.‬‬

‫ػی ؿاسج چیؼر؟‬

‫ؾی قبضح (‪ )C#‬یه ظثبٖ ثط٘بٔ‪ٛ٘ ٝ‬یؿی قی ٌطا اؾز و‪ ٝ‬س‪ٛ‬ؾظ قطوز ٔبیىط‪ٚ‬ؾبفز ؾبذش‪ ٝ‬قس‪ ٜ‬اؾز‪ .‬ؾی قبضح سطویجی اظ‬
‫لبثّیش‪ٟ‬بی ذ‪ٛ‬ة ‪ Java ٚ C++‬اؾز‪ .‬اٌط ثب ایٗ ز‪ ٚ‬ظثبٖ آق‪ٙ‬بیی زاضیس ایٗ قب٘ؽ ضا زاضیس و‪ ٝ‬ظثبٖ ؾی قبضح ضا ضاحز یبز‬
‫ثٍیطیس‪ .‬ایٗ ظثبٖ ث‪ ٝ‬لسضی ضاحز اؾز و‪ ٓٞ ٝ‬وؿب٘ی و‪ ٝ‬لجال ثط٘بٔ‪ٛ٘ ٝ‬یؿی ٘ىطز‪ ٜ‬ا٘س ‪ ٓٞ ٚ‬زا٘ف آٔ‪ٛ‬ظاٖ ٔی س‪ٛ‬ا٘‪ٙ‬س ضاحز آٖ ضا‬
‫یبز ثٍیط٘س‪ .‬اظ ؾی قبضح ٔی س‪ٛ‬اٖ ثطای ؾبذز ثط٘بٔ‪ٞ ٝ‬بی سحز ‪ٚ‬ی‪ٙ‬س‪ٚ‬ظ ‪،‬سحز ‪ٚ‬ة ‪ٚ،‬ة ؾط‪ٚ‬یؽ ‪ٞ‬ب ‪،‬ثط٘بٔ‪ٞ ٝ‬بی ٔ‪ٛ‬ثبیُ ‪ ٚ‬ثبظی ‪ٞ‬ب‬
‫اؾشفبز‪ ٜ‬وطز‪ٔ .‬ی س‪ٛ‬اٖ ث‪ ٝ‬خبی ‪ٚ‬اغ‪ٚ ٜ‬یػ‪ٚ‬اَ ؾی قبضح اظ وّٕ‪ ٝ‬ؾی قبضح اؾشفبز‪ ٜ‬وطز أب ‪ٚ‬یػ‪ٚ‬اَ ؾی قبضح ث‪ٔ ٝ‬ق‪ٙ‬بی اؾشفبز‪ٜ‬‬
‫‪ٕٞ‬عٔبٖ اظ ؾی قبضح ‪ٔ ٚ‬حیظ ٌطافیىی ‪ٚ‬یػ‪ٚ‬اَ اؾش‪ٛ‬زی‪ٔ ٛ‬ی ثبقس‪ .‬ظثبٖ ثط٘بٔ‪ٛ٘ ٝ‬یؿی ؾی قبضح س‪ٟٙ‬ب ظثب٘ی اؾز و‪ٔ ٝ‬ره‪ٛ‬نب‬
‫ثطای زار ٘ز فطیٓ ‪ٚ‬ضن عطاحی قس‪ ٜ‬اؾز‪ .‬ؾی قبضح اظ وشبثرب٘‪ ٝ‬والؼ زار ٘ز و‪ ٝ‬قبُٔ ٔدٕ‪ٛ‬ف‪ ٝ‬ثعضٌی اظ اخعا اظ لجُ ؾبذش‪ٝ‬‬
‫قس‪ ٜ‬اؾز‪ ،‬اؾشفبز‪ٔ ٜ‬ی و‪ٙ‬س‪ .‬ایٗ اخعا ث‪ ٝ‬ؾبذز ‪ٞ‬ط چ‪ ٝ‬ؾطیقشط ثط٘بٔ‪ٞ ٝ‬ب وٕه ٔی و‪ٙٙ‬س‪ .‬ؾی قبضح یه ثط٘بٔ‪ ٝ‬ثؿیبض لسضسٕ‪ٙ‬س ‪ٚ‬‬
‫قی ٌطا اؾز ‪ ٚ‬ثب آٖ ٔی س‪ٛ‬اٖ ثط٘بٔ‪ٞ ٝ‬بیی ثب لبثّیز ٔسیطیز ثیكشط ‪ ٚ‬زضن آؾبٖ ایدبز وطز‪ .‬ؾبذشبض ایٗ ظثبٖ ٘ؿجز ث‪ ٝ‬ظثب٘‪ٟ‬بی‬
‫زیٍط ثؿیبض آؾبٖ ‪ ٚ‬لبثُ ف‪ ٟٓ‬اؾز‪.‬‬

‫ثطای اخطای یه ثط٘بٔ‪ ٝ‬ؾی قبضح اثشسا ثبیس زار ٘ز فطیٓ ‪ٚ‬ضن ٘هت ق‪ٛ‬ز‪ .‬ؾی قبضح یىی اظ ظثب٘‪ٟ‬بیی اؾز و‪ ٝ‬اظ سى‪ِٛٛٙ‬غی ‪ٞ‬بی‬
‫زیٍط زار ٘ز ٔب٘‪ٙ‬س ‪ XNA ٚ ASP.NET, Silverlight‬دكشیجب٘ی ٔی و‪ٙ‬س‪ٕٞ .‬چ‪ٙ‬یٗ یه ٔحیظ س‪ٛ‬ؾق‪ ٝ‬یىذبضچ‪ ٝ‬زاضز و‪ ٝ‬آٖ ٘یع‬
‫ث‪ٛ٘ ٝ‬ث‪ ٝ‬ذ‪ٛ‬ز زاضای اثعاض‪ٞ‬بی ٔفیسی اؾز و‪ ٝ‬ث‪ ٝ‬قٕب زض وس٘‪ٛ‬یؿی زض ؾی قبضح وٕه ٔی و‪ٙ‬س‪ .‬ایٗ ظثبٖ ث‪ ٝ‬ع‪ٛ‬ض زائٓ س‪ٛ‬ؾظ‬
‫ٔبیىط‪ٚ‬ؾبفز ث‪ ٝ‬ض‪ٚ‬ظ قس‪ٚ ٚ ٜ‬یػٌی‪ٟ‬بی خسیسی ث‪ ٝ‬آٖ اضبف‪ٔ ٝ‬ی ق‪ٛ‬ز‪ .‬ؾی قبضح یىی اظ ث‪ٟ‬شطیٗ ظثب٘‪ٟ‬بی ثط٘بٔ‪ٛ٘ ٝ‬یؿی زار ٘ز‬
‫اؾز‪.‬‬

‫‪13‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫ٍیظٍال اػسَدیَ‬
‫‪ٚ‬یػ‪ٚ‬اَ اؾش‪ٛ‬زی‪ٔ ٛ‬حیظ س‪ٛ‬ؾق‪ ٝ‬یىذبضچ‪ ٝ‬ای اؾز‪ ،‬و‪ ٝ‬زاضای اثعاض‪ٞ‬بیی ثطای وٕه ث‪ ٝ‬قٕب ثطای س‪ٛ‬ؾق‪ ٝ‬ثط٘بٔ‪ٞ ٝ‬بی ؾی قبضح ‪ٚ‬‬
‫زار ٘ز ٔی ثبقس‪ .‬قٕب ٔی س‪ٛ‬ا٘یس یه ثط٘بٔ‪ ٝ‬ؾی قبضح ضا ثب اؾشفبز‪ ٜ‬اظ ثط٘بٔ‪ notepad ٝ‬یب ‪ٞ‬ط ثط٘بٔ‪ٚ ٝ‬یطایكٍط ٔشٗ زیٍط‬
‫ث‪ٛٙ‬یؿیس ‪ ٚ‬ثب اؾشفبز‪ ٜ‬اظ وبٔذبیّط ؾی قبضح اظ آٖ اؾشفبز‪ ٜ‬و‪ٙ‬یس‪ ،‬أب ایٗ وبض ثؿیبض ؾرز اؾز چ‪ ٖٛ‬اٌط ثط٘بٔ‪ ٝ‬قٕب زاضای ذغب‬
‫ثبقس‪ ،‬ذغبیبثی آٖ ؾرز ٔی ق‪ٛ‬ز‪ .‬س‪ٛ‬خ‪ ٝ‬و‪ٙ‬یس و‪ ٝ‬وّٕ‪ٚ ٝ‬یػ‪ٚ‬اَ اؾش‪ٛ‬زی‪ ٓٞ ٛ‬ث‪ٚ ٝ‬یػ‪ٚ‬اَ اؾش‪ٛ‬زی‪ ٓٞ ٚ ٛ‬ث‪ٚ ٝ‬یػ‪ٚ‬اَ ؾی قبضح اقبض‪ٜ‬‬
‫زاضز‪ .‬س‪ٛ‬نی‪ٔ ٝ‬ی و‪ٙ‬یٓ و‪ ٝ‬اظ ٔحیظ ‪ٚ‬یػ‪ٚ‬اَ اؾش‪ٛ‬زی‪ ٛ‬ثطای ؾبذز ثط٘بٔ‪ ٝ‬اؾشفبز‪ ٜ‬و‪ٙ‬یس چ‪ ٖٛ‬ایٗ ٔحیظ زاضای ‪ٚ‬یػٌی ‪ٞ‬بی ظیبزی‬
‫ثطای وٕه ث‪ ٝ‬قٕب خ‪ٟ‬ز س‪ٛ‬ؾق‪ ٝ‬ثط٘بٔ‪ٞ ٝ‬بی ؾی قبضح ٔی ثبقس‪ .‬سقساز ظیبزی اظ دطزاظـ ‪ٞ‬ب و‪ٚ ٝ‬لز قٕب ضا ‪ٞ‬سض ٔی ز‪ٙٞ‬س ث‪ٝ‬‬
‫ن‪ٛ‬ضر ذ‪ٛ‬زوبض س‪ٛ‬ؾظ ‪ٚ‬یػ‪ٚ‬اَ اؾش‪ٛ‬زی‪ ٛ‬ا٘دبْ ٔی ق‪٘ٛ‬س‪.‬یىی اظ ایٗ ‪ٚ‬یػٌی ‪ٞ‬ب ای‪ٙ‬شُ الیؿ‪ٙ‬ؽ)‪ (Intellisense‬اؾز و‪ ٝ‬قٕب ضا زض‬
‫سبیخ ؾطیـ وس‪ٞ‬بیشبٖ وٕه ٔی و‪ٙ‬س‪.‬یىی زیٍط اظ ‪ٚ‬یػٌی‪ٟ‬بی اضبف‪ ٝ‬قس‪ break point ٜ‬اؾز و‪ ٝ‬ث‪ ٝ‬قٕب اخبظ‪ٔ ٜ‬ی ز‪ٞ‬س زض ع‪َٛ‬‬
‫اخطای ثط٘بٔ‪ٔ ٝ‬مبزیط ٔ‪ٛ‬خ‪ٛ‬ز زض ٔشغیط‪ٞ‬ب ضا چه و‪ٙ‬یس‪ٚ .‬یػ‪ٚ‬اَ اؾش‪ٛ‬زی‪ ٛ‬ثط٘بٔ‪ ٝ‬قٕب ضا ذغبیبثی ٔی و‪ٙ‬س ‪ ٚ‬حشی ذغب‪ٞ‬بی و‪ٛ‬چه‬
‫( ٔب٘‪ٙ‬س ثعضي یب و‪ٛ‬چه ٘‪ٛ‬قشٗ حط‪ٚ‬ف) ضا ثطعطف ٔی و‪ٙ‬س ‪ٕٞ،‬چ‪ٙ‬یٗ زاضای اثعاض‪ٞ‬بی عطاحی ثطای ؾبذز یه ضاثظ ٌطافیىی اؾز‬
‫و‪ ٝ‬ثس‪ٚ ٖٚ‬یػ‪ٚ‬اَ اؾش‪ٛ‬زی‪ ٛ‬ثطای ؾبذز ‪ٕٞ‬چیٗ ضاثظ ٌطافیىی ثبیس وس‪ٞ‬بی ظیبزی ٘‪ٛ‬قز‪ .‬ثب ایٗ ثط٘بٔ‪ٞ ٝ‬بی لسضسٕ‪ٙ‬س ثبظز‪ٞ‬ی قٕب‬
‫افعایف ٔی یبثس ‪ ٚ‬زض ‪ٚ‬لز قٕب ثب ‪ٚ‬خ‪ٛ‬ز ایٗ ‪ٚ‬یػٌی‪ٟ‬بی قٍفز اٍ٘یع نطف‪ ٝ‬خ‪ٛ‬یی ٔی ق‪ٛ‬ز‪ .‬زض حبَ حبضط آذطیٗ ٘ؿر‪ٚ ٝ‬یػ‪ٚ‬اَ‬
‫اؾش‪ٛ‬زی‪ Visual Studio 2015 ٛ‬اؾز‪ .‬ایٗ ٘ؿر‪ ٝ‬ث‪ ٝ‬ز‪٘ ٚ‬ؿر‪( Visual Studio Professional ٝ‬اضظاٖ لیٕز) ‪Visual ٚ‬‬
‫‪ٌ ( Studio Enterprise‬طا٘میٕز) سمؿیٓ ٔی ق‪ٛ‬ز ‪ ٚ‬زاضای ‪ٚ‬یػٌی ‪ٞ‬بی ٔشفب‪ٚ‬سی ‪ٞ‬ؿش‪ٙ‬س‪ .‬ذجط ذ‪ٛ‬ة ثطای س‪ٛ‬ؾق‪ ٝ‬ز‪ٙٞ‬سٌبٖ ٘طْ‬
‫‪ .‬یىی اظ ٘ؿر‪ٞ ٝ‬بی ‪ٚ‬یػ‪ٚ‬اَ‬ ‫افعاض ایٗ اؾز و‪ٔ ٝ‬بیىط‪ٚ‬ؾبفز سهٕیٓ زاضز و‪ٚ ٝ‬یػ‪ٚ‬اَ اؾش‪ٛ‬زی‪ ٛ‬ضا ث‪ ٝ‬ن‪ٛ‬ضر ٔشٗ ثبظ اضائ‪ ٝ‬ز‪ٞ‬س‬
‫ایٗ ثط٘بٔ‪ٝ‬‬ ‫اؾش‪ٛ‬زی‪ٔ Visual Studio Community ،ٛ‬ی ثبقس و‪ ٝ‬آظاز اؾز ‪ٔ ٚ‬ی س‪ٛ‬اٖ آٖ ضا زاّ٘‪ٛ‬ز ‪ ٚ‬اظ آٖ اؾشفبز‪ ٜ‬وطز‪.‬‬
‫‪ٚ‬یػٌی‪ٟ‬بی وبفی ضا ثطای قط‪ٚ‬ؿ ثط٘بٔ‪ٛ٘ ٝ‬یؿی ‪ C#‬زض اذشیبض قٕب لطاض ٔی ز‪ٞ‬س‪ .‬ایٗ ٘ؿر‪ (Community) ٝ‬وبُٔ ٘یؿز ‪ٚ‬‬
‫‪ Visual Studio Community‬و‪ ٝ‬خبیٍعیٗ ‪Visual Studio‬‬ ‫ذالن‪ ٝ‬قس‪٘ ٜ‬ؿر‪ ٝ‬انّی اؾز‪ .‬ث‪ٞ ٝ‬ط حبَ اؾشفبز‪ ٜ‬اظ‬
‫‪ Express‬قس‪ ٚ ٜ‬ث‪ٛ٘ ٝ‬فی ‪ٕٞ‬بٖ ٘ؿر‪ Visual Studio Professionalٝ‬اؾز‪ ،‬ثطای ا٘دبْ سٕطی‪ٙ‬بر ایٗوشبة وبفی اؾز‪.‬‬

‫‪ Visual Studio Enterprise 2015‬زاضای ٔحیغی وبّٔشط ‪ ٚ‬اثعاض‪ٞ‬بی ثیكشطی خ‪ٟ‬ز فیت یبثی ‪ ٚ‬ضؾٓ ٕ٘‪ٛ‬زاض‪ٞ‬بی ٔرشّف‬
‫اؾز و‪ ٝ‬زض ‪ٚ Visual Studio Community‬خ‪ٛ‬ز ٘ساض٘س‪ٚ .‬یػ‪ٚ‬اَ اؾش‪ٛ‬زی‪ ٛ‬فمظ ث‪ ٝ‬ؾی قبضح ذالن‪ٕ٘ ٝ‬ی ق‪ٛ‬ز ‪ ٚ‬زاضای ظثب٘‪ٟ‬بی‬
‫ثط٘بٔ‪ٛ٘ ٝ‬یؿی زیٍطی اظ خّٕ‪ٚ ٝ‬یػ‪ٚ‬اَ ثیؿیه ٘یع ٔی ثبقس‪.‬ضاثظ وبضثطی ؾی قبضح ‪ٚ ٚ‬یػ‪ٚ‬اَ اؾش‪ٛ‬زی‪ ٛ‬ثؿیبض قجی‪ ٓٞ ٝ‬اؾز ‪ٔ ٚ‬ب‬
‫زض ایٗ وشبة ثیكشط سٕطی‪ٙ‬بر ضا ثب اؾشفبز‪ ٜ‬اظ ؾی قبضح ا٘دبْ ٔی ‪.‬‬
‫ز‪ٞ‬یٓ‬

‫‪14‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫داًلَد ٍ ًصة ٍیظٍال اػسَدیَ‬


‫زض ایٗ زضؼ ٔی ذ‪ٛ‬ا‪ٞ‬یٓ ٘ح‪ ٜٛ‬زاّ٘‪ٛ‬ز ‪٘ ٚ‬هت‪ Visual Studio Community 2015‬ضا آٔ‪ٛ‬ظـ ز‪ٞ‬یٓ‪.‬‬

‫داًلَد‪Visual Studio Community 2015‬‬

‫‪:‬‬ ‫‪ Visual Studio Community 2015‬ث‪ ٝ‬ن‪ٛ‬ضر آظاز زض زؾشطؼ اؾز ‪ٔ ٚ‬ی س‪ٛ‬ا٘یس آٖ ضا اظ ِی‪ٙ‬ه ظیط زاّ٘‪ٛ‬ز و‪ٙ‬یس‬
‫‪https://www.visualstudio.com/en-us/downloads/download-visual-studio-vs.aspx‬‬
‫ثب وّیه ثط ض‪ٚ‬ی ِی‪ٙ‬ه ثبال نفح‪ ٝ‬ای ث‪ ٝ‬ن‪ٛ‬ضر ظیط ؽب‪ٞ‬ط ٔی ق‪ٛ‬ز و‪ ٝ‬زض زاذُ ایٗ نفح‪ٔ ٝ‬ی س‪ٛ‬اٖ ثب وّیه ثط ض‪ٚ‬ی ‪Visual‬‬
‫‪ Studio Community 2015‬آٖ ضا زاّ٘‪ٛ‬ز وطز‪:‬‬

‫‪15‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫ثقس اظ وّیه ثط ض‪ٚ‬ی ‪ Visual Studio Community 2015‬ظثبٖ ٔ‪ٛ‬ضز ٘ؾط ‪ ٚ‬ؾذؽ فطٔز ‪ ISO‬ضا ا٘شربة وطز‪ ٜ‬سب سٕبْ فبیُ‬
‫‪ٞ‬بی الظْ خ‪ٟ‬ز ٘هت ‪ Visual Studio Community 2015‬زاّ٘‪ٛ‬ز ق‪٘ٛ‬س‪ .‬ثب ایٗ وبض اٌط ٔی س‪ٛ‬اٖ ‪ٕٞ‬یٗ فبیُ ‪ ISO‬ضا ثط ض‪ٚ‬ی‬
‫ؾیؿشٓ ‪ٞ‬بی زیٍط ثس‪٘ ٖٚ‬یبظ ث‪ ٝ‬زاّ٘‪ٛ‬ز ٔدسز فبیُ ‪ٞ‬بی الظْ‪٘ ،‬هت وطز‪ .‬ایٗ فبیُ ‪ ISO‬حس‪ٚ‬ز ‪ٌ 5‬یٍبثبیز حدٓ زاضز ‪ ٚ‬ثطای‬
‫‪.‬‬
‫زاضیس‬ ‫زاّ٘‪ٛ‬ز آٖ یع ث‪ ٝ‬یه ای‪ٙ‬شط٘ز دط ؾطفز‬

‫ثب وّیه ثط ض‪ٚ‬ی زوٕ‪ ، Downloadٝ‬زاّ٘‪ٛ‬ز ثط٘بٔ‪ ٝ‬قط‪ٚ‬ؿ ٔی ‪.‬‬


‫ق‪ٛ‬ز‬

‫ًصة ‪Visual Studio Community 2015‬‬

‫ثقس اظ زاّ٘‪ٛ‬ز فبیُ‪ ،‬قٕب ثبیس لبزض ث‪ ٝ‬ثبظ وطزٖ آٖ زض ‪ٚ‬ی‪ٙ‬س‪ٚ‬ظ‪ 8‬یب ثبالسط ثبقیس‪ .‬ثقس اظ اخطای فبیُ‪ ، ISO‬ث‪ ٝ‬زاذُ آٖ ضفش‪ ٚ ٝ‬ثط‬
‫ض‪ٚ‬ی فبیُ ‪ vs_community.exe‬ز‪ ٚ‬ثبض وّیه و‪ٙ‬یس‪:‬‬

‫ثب وّیه ثط ض‪ٚ‬ی فبیُ ثبال نفح‪ ٝ‬ای ث‪ ٝ‬ن‪ٛ‬ضر ظیط ؽب‪ٞ‬ط ٔی ق‪ٛ‬ز‪ٌ .‬عی‪ Typical ٝٙ‬ضا ا٘شربة ‪ ٚ‬ثط ض‪ٚ‬ی زوٕ‪Install ٝ‬‬
‫وّیه و‪ٙ‬یس‪:‬‬

‫‪16‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫‪.‬‬
‫ثطؾس‬ ‫نجط و‪ٙ‬یس سب ٔطحّ‪٘ ٝ‬هت ث‪ ٝ‬دبیبٖ‬

‫‪17‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫ثقس اظ اسٕبْ ٘هت‪ ،‬نفح‪ ٝ‬ای ث‪ ٝ‬ن‪ٛ‬ضر ظیط ٕ٘بیبٖ ٔی ق‪ٛ‬ز‪ .‬زض ایٗ نفح‪ ٝ‬ثط ض‪ٚ‬ی زوٕ‪ Launch ٝ‬وّیه ٕ٘بییس سب ‪Visual‬‬
‫‪ Studio Community‬اخطا ق‪ٛ‬ز‪.‬‬

‫‪18‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫ؿشٍع واس تا ‪Visual Studio Community‬‬

‫ثط٘بٔ‪ٚ ٝ‬یػ‪ٚ‬اَ اؾش‪ٛ‬زی‪ ٛ‬ضا اخطا وطز‪ٙٔ ٚ ٜ‬شؾط ثٕب٘یس سب نفح‪ ٝ‬آٖ ثبضٌصاضی ‪:‬‬
‫ق‪ٛ‬ز‬

‫‪19‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫اٌط زاضای یه اوب٘ز ٔبیىط‪ٚ‬ؾبفز ثبقیس ٔی س‪ٛ‬ا٘یس سغییطاسی و‪ ٝ‬زض ‪ٚ‬یػ‪ٚ‬اَ اؾش‪ٛ‬زی‪ٔ ٛ‬ی ز‪ٞ‬یس ضا زض فضبی اثطی شذیط‪ ٜ‬وطز‪ ٚ ٜ‬اٌط‬
‫آٖ ضا زض وبٔذی‪ٛ‬سط زیٍط ٘هت و‪ٙ‬یس‪ٔ ،‬ی س‪ٛ‬ا٘یس ثب ‪ٚ‬اضز قس‪ ٜ‬ث‪ ٝ‬اوب٘ز ذ‪ٛ‬ز‪ ،‬سغییطار ضا ث‪ ٝ‬ن‪ٛ‬ضر ذ‪ٛ‬زوبض ثط ض‪ٚ‬ی ‪ٚ‬یػ‪ٚ‬اَ‬
‫‪ Not now, maybe later‬ضز و‪ٙ‬یس‪:‬‬
‫اؾش‪ٛ‬زی‪ٛ‬یی و‪ ٝ‬سبظ‪٘ ٜ‬هت قس‪ ٜ‬افٕبَ و‪ٙ‬یس‪ .‬اِجش‪ٔ ٝ‬ی س‪ٛ‬ا٘یس ایٗ ٔطحّ‪ ٝ‬ضا ثب ظزٖ زوٕ‪ٝ‬‬

‫‪20‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫‪Blue‬‬
‫قٕب ٔی س‪ٛ‬ا٘یس اظ ثیٗ ؾ‪ ٝ‬ؽب‪ٞ‬ط اظ دیف سقطیف قس‪ ٜ‬زض ‪ٚ‬یػ‪ٚ‬اَ اؾش‪ٛ‬زی‪ ٛ‬یىی ضا ا٘شربة و‪ٙ‬یس‪ ٗٔ .‬ث‪ ٝ‬ن‪ٛ‬ضر دیكفطو ؽب‪ٞ‬ط‬
‫ضا ا٘شربة ٔی و‪ِٚ ٓٙ‬ی قٕب ٔی س‪ٛ‬ا٘یس ثؿش‪ ٝ‬ث‪ ٝ‬ؾّیم‪ ٝ‬ذ‪ٛ‬ز‪ ،‬ؽب‪ٞ‬ط زیٍط ضا ا٘شربة ‪:‬‬
‫و‪ٙ‬یس‬

‫‪21‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫ثقس اظ ظزٖ زوٕ‪ Start Visual Studioٝ‬نفح‪ ٝ‬ای ث‪ ٝ‬ن‪ٛ‬ضر ظیط ؽب‪ٞ‬ط ٔی ‪:‬‬
‫ق‪ٛ‬ز‬

‫‪22‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫ثقس اظ ثبضٌصاضی وبُٔ ‪ Visual Studio Community‬نفح‪ ٝ‬انّی ثط٘بٔ‪ ٝ‬ث‪ ٝ‬ن‪ٛ‬ضر ظیط ٕ٘بیف زاز‪ٔ ٜ‬ی ق‪ٛ‬ز و‪٘ ٝ‬كبٖ اظ ٘هت‬
‫وبُٔ آٖ زاضز‪:‬‬

‫‪23‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫تِ ٍیظٍال اػسَدیَ خَؽ آهذیذ‬


‫زض ایٗ ثرف ٔی ذ‪ٛ‬ا‪ٞ‬یٓ زض ثبض‪ ٜ‬لؿٕز ‪ٞ‬بی ٔرشّف ٔحیظ ‪ٚ‬یػ‪ٚ‬اَاؾش‪ٛ‬زی‪ ٛ‬ث‪ ٝ‬قٕب ٔغبِجی آٔ‪ٛ‬ظـ ز‪ٞ‬یٓ‪ .‬الظْ اؾز و‪ ٝ‬ثب ا٘‪ٛ‬اؿ‬
‫اثعاض‪ٞ‬ب ‪ٚ ٚ‬یػٌی‪ٟ‬بی ایٗ ٔحیظ آق‪ٙ‬ب ق‪ٛ‬یس‪ .‬ثط٘بٔ‪ٚ ٝ‬یػ‪ٚ‬اَ ؾی قبضح ضا اخطا و‪ٙ‬یس‪ .‬ثقس اظ ای‪ٙ‬ى‪ ٝ‬نفح‪ ٝ‬ثبال ثؿش‪ ٝ‬قس ‪ٚ‬اضز نفح‪ٝ‬‬
‫آغبظیٗ ‪ٚ‬یػ‪ٚ‬اَ ؾی قبضح ٔی ق‪ٛ‬یٓ‪:‬‬

‫‪24‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫ایٗ نفح‪ ٝ‬ثط عجك ف‪ٙ‬ب‪ٚ‬یٗ ذبنی عجم‪ ٝ‬ث‪ٙ‬سی قس‪ ٜ‬و‪ ٝ‬زض ٔ‪ٛ‬ضز آ٘‪ٟ‬ب س‪ٛ‬ضیح ذ‪ٛ‬ا‪ٞ‬یٓ زاز‪.‬‬

‫هٌَ تاس ( ‪) Menu Bar‬‬

‫ٔ‪ ٛٙ‬ثبض (‪ )1‬و‪ ٝ‬قبُٔ ٔ‪ٞٛٙ‬بی ٔرشّفی ثطای ؾبذز‪ ،‬س‪ٛ‬ؾق‪ٍٟ٘ ،ٝ‬ساضی‪ ،‬ذغبیبثی ‪ ٚ‬اخطای ثط٘بٔ‪ٞ ٝ‬ب اؾز‪ .‬ثب وّیه ثط ض‪ٚ‬ی ‪ٞ‬ط ٔ‪ٛٙ‬‬
‫زیٍط ٔ‪ٞٛٙ‬بی ‪ٚ‬اثؿش‪ ٝ‬ث‪ ٝ‬آٖ ؽب‪ٞ‬ط ٔی ق‪٘ٛ‬س‪ .‬ث‪ ٝ‬ایٗ ٘ىش‪ ٝ‬س‪ٛ‬خ‪ ٝ‬و‪ٙ‬یس و‪ٛٙٔ ٝ‬ثبض زاضای آیشٓ ‪ٞ‬بی ٔرشّفی اؾز و‪ ٝ‬فمظ زض قطایظ‬
‫ذبنی ؽب‪ٞ‬ط ٔی ق‪٘ٛ‬س‪ .‬ث‪ ٝ‬ف‪ٛٙ‬اٖ ٔثبَ آیشٓ ‪ٞ‬بی ٔ‪ٛٙ‬ی‪ Project‬زض ن‪ٛ‬ضسی ٘كبٖ زاز‪ ٜ‬ذ‪ٛ‬ا‪ٙٞ‬س قس و‪ ٝ‬دط‪ٚ‬غ‪ ٜ‬فقبَ ثبقس‪ .‬زض ظیط‬
‫ثطذی اظ ‪ٚ‬یػٌی‪ٟ‬بی ٔ‪ٞٛٙ‬ب آٔس‪ ٜ‬اؾز ‪:‬‬

‫ٔ‪ٛٙ‬‬ ‫س‪ٛ‬ضیح‬
‫‪File‬‬ ‫قبُٔ زؾش‪ٛ‬ضاسی ثطای ؾبذز دط‪ٚ‬غ‪ ٜ‬یب فبیُ‪ ،‬ثبظ وطزٖ ‪ ٚ‬شذیط‪ ٜ‬دط‪ٚ‬غ‪ٞ ٜ‬ب ‪ ٚ‬ذط‪ٚ‬ج اظ آ٘‪ٟ‬ب ٔی ثبقس‬
‫‪Edit‬‬ ‫قبُٔ زؾش‪ٛ‬ضاسی خ‪ٟ‬ز ‪ٚ‬یطایف اظ لجیُ وذی وطزٖ‪ ،‬خبیٍعی‪ٙ‬ی ‪ ٚ‬دیسا وطزٖ یه ٔ‪ٛ‬ضز ذبل ٔی ثبقس‬
‫‪View‬‬ ‫‪ toolbar‬آیشٕی اضبف‪ ٝ‬و‪ٙ‬یس‪.‬‬
‫ث‪ ٝ‬قٕب اخبظ‪ٔ ٜ‬ی ز‪ٞ‬س سب د‪ٙ‬دط‪ٞ ٜ‬بی ثیكشطی ثبظ وطز‪ ٚ ٜ‬یب ث‪ ٝ‬آیشٓ ‪ٞ‬بی‬
‫‪Project‬‬ ‫قبُٔ زؾش‪ٛ‬ضاسی زض ٔ‪ٛ‬ضز دط‪ٚ‬غ‪ ٜ‬ای اؾز و‪ ٝ‬قٕب ثط ض‪ٚ‬ی آٖ وبض ٔی و‪ٙ‬یس‪.‬‬

‫‪25‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫‪Debug‬‬ ‫ث‪ ٝ‬قٕب اخبظ‪ ٜ‬وبٔذبیُ ‪ ،‬اقىبَ ظزایی ‪ ٚ‬اخطای ثط٘بٔ‪ ٝ‬ضا ٔی ز‪ٞ‬س‬
‫‪Data‬‬ ‫قبُٔ زؾش‪ٛ‬ضاسی ثطای اسهبَ ث‪ ٝ‬زیشبثؽ ‪ٞ‬ب ٔی ثبقس‪.‬‬
‫‪Format‬‬ ‫قبُٔ زؾش‪ٛ‬ضاسی خ‪ٟ‬ز ٔطست وطزٖ اخعای ٌطافیىی زض ٔحیظ ٌطافیىی ثط٘بٔ‪ٔ ٝ‬ی ثبقس‪.‬‬
‫‪Tools‬‬ ‫قبُٔ اثعاض‪ٞ‬بی ٔرشّف‪ ،‬س‪ٙ‬ؾیٕبر ‪ ... ٚ‬ثطای ‪ٚ‬یػ‪ٚ‬اَ ؾی قبضح ‪ٚ ٚ‬یػ‪ٚ‬اَ اؾش‪ٛ‬زی‪ٔ ٛ‬ی ثبقس‪.‬‬
‫‪Window‬‬ ‫ث‪ ٝ‬قٕب اخبظ‪ ٜ‬س‪ٙ‬ؾیٕبر ؽب‪ٞ‬طی د‪ٙ‬دط‪ٞ ٜ‬ب ضا ٔی ز‪ٞ‬س‪.‬‬
‫‪Help‬‬ ‫قبُٔ اعالفبسی زض ٔ‪ٛ‬ضز ثط٘بٔ‪ٚ ٝ‬یػ‪ٚ‬اَ اؾش‪ٛ‬زی‪ٔ ٛ‬ی ثبقس‬

‫‪The Toolbars‬‬

‫‪ٕٞ Toolbar‬ب٘‪ٙ‬س یه ٔیب٘جط فُٕ ٔی‬


‫‪ )2( Toolbar‬ث‪ ٝ‬ع‪ٛ‬ض ٔقٕ‪ َٛ‬قبُٔ ‪ٕٞ‬بٖ زؾش‪ٛ‬ضاسی اؾز و‪ ٝ‬زض زاذُ ٔ‪ٞ ٛٙ‬ب لطاض زاض٘س‪.‬‬
‫و‪ٙ‬س‪ٞ .‬ط زوٕ‪ ٝ‬زض‪ Toolbar‬زاضای آیى‪٘ٛ‬ی اؾز و‪ ٝ‬وبضثطز آ٘طا ٘كبٖ ٔی ز‪ٞ‬س‪ .‬اٌط زض ٔ‪ٛ‬ضز فّٕىطز ‪ٞ‬ط وساْ اظ ایٗ زوٕ‪ٞ ٝ‬ب قه‬
‫‪٘ )tool tip‬كبٖ زاز‪ٜ‬‬ ‫زاقشیس ٔی س‪ٛ‬ا٘یس ثب ٘كبٍ٘ط ٔ‪ٛ‬ؼ ثط ض‪ٚ‬ی آٖ ٔىث و‪ٛ‬سب‪ٞ‬ی ثى‪ٙ‬یس سب وبضثطز آٖ ث‪ ٝ‬ن‪ٛ‬ضر یه دیبْ (‬
‫ق‪ٛ‬ز‪ .‬ثطذی اظ زؾش‪ٛ‬ضار ٔرفی ‪ٞ‬ؿش‪ٙ‬س ‪ ٚ‬سحز قطایظ ذبل ؽب‪ٞ‬ط ٔی ق‪٘ٛ‬س‪ٕٞ .‬چ‪ٙ‬یٗ ٔی س‪ٛ‬ا٘یس ثب وّیه ضاؾز ثط ض‪ٚ‬ی ٔ‪ٙ‬غم‪ٝ‬‬
‫ذبِی اظ ‪ ٚ toolbar‬یب اظ ٔؿیط ‪ View > Toolbars‬زؾش‪ٛ‬ضار ثیكشطی ث‪ ٝ‬آٖ اضبف‪ ٝ‬و‪ٙ‬یس‪ .‬ثطذی اظ زوٕ‪ٞ ٝ‬ب زاضای فّف ‪ٞ‬بی‬
‫‪ toolbar‬ث‪ ٝ‬قٕب اخبظ‪ ٜ‬خب‬
‫و‪ٛ‬چىی ‪ٞ‬ؿش‪ٙ‬س و‪ ٝ‬ثب وّیه ثط ض‪ٚ‬ی آ٘‪ٟ‬ب زیٍط زؾش‪ٛ‬ضار ‪ٚ‬اثؿش‪ ٝ‬ث‪ ٝ‬آ٘‪ٟ‬ب ؽب‪ٞ‬ط ٔی ق‪٘ٛ‬س‪ .‬ؾٕز چخ ‪ٞ‬ط‬
‫ث‪ ٝ‬خبیی آٖ ضا ٔی ز‪ٞ‬س‪.‬‬

‫صفحِ آغاصیي ( ‪) Start Page‬‬

‫ثطای ایدبز یه دط‪ٚ‬غ‪ ٚ ٜ‬ثبظ وطزٖ آٖ اظ ایٗ لؿٕز اؾشفبز‪ٔ ٜ‬ی ق‪ٛ‬ز‪ٕٞ .‬چ‪ٙ‬یٗ اٌط اظ لجُ دط‪ٚ‬غ‪ ٜ‬ای ایدبز وطز‪ ٜ‬ایس ٔی س‪ٛ‬ا٘یس آٖ‬
‫ضا زض ‪ٔ Recent Projects‬كب‪ٞ‬س‪ ٚ ٜ‬اخطا و‪ٙ‬یس‪ .‬ثرك‪ٟ‬بی ٔ‪ٚ ٟٓ‬یػ‪ٚ‬اَ ؾی قبضح س‪ٛ‬ضیح زاز‪ ٜ‬قس زض ٔ‪ٛ‬ضز ثرك‪ٟ‬بی ثقسی زض‬
‫زضؾ‪ٟ‬بی آی‪ٙ‬س‪ ٜ‬س‪ٛ‬ضیحبر ثیكشطی ذ‪ٛ‬ا‪ٞ‬یٓ ‪.‬‬
‫زاز‬

‫‪26‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫گشدؿی دس ٍیظٍال اػسَدیَ‬


‫‪ Visual Studio Community‬اظ سقساز ظیبزی د‪ٙ‬دط‪ ٛٙٔ ٚ ٜ‬سكىیُ قس‪ ٜ‬اؾز و‪ٞ ٝ‬ط وساْ ثطای ا٘دبْ وبض ذبنی ث‪ ٝ‬وبض ٔی‬
‫ض‪٘ٚ‬س‪ .‬اخبظ‪ ٜ‬ز‪ٞ‬یس ثب ٘ف‪ٛ‬ش ثیكشط زض ٔحیظ ‪ٚ‬یػ‪ٚ‬اَاؾش‪ٛ‬زی‪ ٛ‬ثب ایٗ لؿٕش‪ٟ‬ب آق‪ٙ‬ب ق‪ٛ‬یٓ‪ .‬اظ ٔؿیط ‪ File > New Project‬یه‬
‫د‪ٙ‬دط‪ ٜ‬فطْ ایدبز و‪ٙ‬یس‪.‬‬

‫‪27‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫د‪ٙ‬دط‪ ٜ‬ای ث‪ ٝ‬قىُ ظیط ٕ٘بیف زاز‪ ٜ‬ذ‪ٛ‬ا‪ٞ‬س ‪.‬‬


‫قس‬

‫‪ٕٞ‬ب٘غ‪ٛ‬ض و‪ ٝ‬زض قىُ ثبال ٘كبٖ زاز‪ ٜ‬قس‪ ٜ‬اؾز ٌعی‪ ٚ Windows Forms Applicationٝٙ‬یه اؾٓ ثطای دط‪ٚ‬غ‪ ٜ‬ا٘شربة ٔی‬
‫و‪ٙ‬یٓ ‪ ٚ‬ثط ض‪ٚ‬ی زوٕ‪ OK ٝ‬وّیه ٔی و‪ٙ‬یٓ سب نفح‪ ٝ‬ظیط ٕ٘بیبٖ ‪:‬‬
‫ق‪ٛ‬ز‬

‫‪28‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫ٔكرهبر فطْ ثبال فجبضر اؾز ‪:‬‬


‫اظ‬

‫‪ - 1‬صفحِ طشاحی )‪(Design‬‬

‫ایٗ نفح‪ ٝ‬زض حىٓ یه ٘بحی‪ ٝ‬ثطای عطاحی فطْ ‪ٞ‬بی ‪ٚ‬ی‪ٙ‬س‪ٚ‬ظی قٕب اؾز‪ .‬فطْ ‪ٞ‬بی ‪ٚ‬ی‪ٙ‬س‪ٚ‬ظی ضاثغ‪ٟ‬بی ٌطافیىی ثیٗ وبضثط ‪ٚ‬‬
‫وبٔذی‪ٛ‬سط ‪ٞ‬ؿش‪ٙ‬س ‪ٔ ٚ‬حیظ ‪ٚ‬ی‪ٙ‬س‪ٚ‬ظ ٕ٘‪ ٝ٘ٛ‬ثبضظی اظ یه ضاثظ ٌطافیىی یب‪ GUI‬اؾز‪ .‬قٕب زض ایٗ نفح‪ٔ ٝ‬ی س‪ٛ‬ا٘یس و‪ٙ‬شطِ‪ٟ‬بیی ٔب٘‪ٙ‬س‬
‫زوٕ‪ٞ ٝ‬ب ‪ ،‬ثطچؿت ‪ٞ‬ب ‪ .… ٚ‬ث‪ ٝ‬فطٔشبٖ اضبف‪ ٝ‬و‪ٙ‬یس ‪ .‬خعییبر ثیكشط زض ٔ‪ٛ‬ضز فطٔ‪ٟ‬بی ‪ٚ‬ی‪ٙ‬س‪ٚ‬ظی ‪ ٚ‬و‪ٙ‬شطِ‪ٟ‬ب ‪ ٚ‬ثط٘بٔ‪ٛ٘ ٝ‬یؿی قی ٌطا‬
‫زض فهُ فطْ ‪ٞ‬بی ‪ٚ‬ی‪ٙ‬س‪ٚ‬ظی آٔس‪ ٜ‬اؾز‪ .‬أب س‪ٛ‬نی‪ٔ ٝ‬ی ق‪ٛ‬ز اثشسا ٔجب٘ی ثط٘بٔ‪ٛ٘ ٝ‬یؿی ضا ٔغبِق‪. ٝ‬‬
‫و‪ٙ‬یس‬

‫‪ - 2‬هشٍسگش خشٍطُ )‪(Solution Explorer‬‬

‫دط‪ٚ‬غ‪ ٚ ٜ‬فبیّ‪ٟ‬بی ٔطث‪ٛ‬ط ث‪ ٝ‬آٖ ضا ٘كبٖ ٔی ز‪ٞ‬س‪ .‬یه ‪ Solution‬ثط٘بٔ‪ ٝ‬ای و‪ ٝ‬س‪ٛ‬ؾظ قٕب ؾبذش‪ ٝ‬قس‪ ٜ‬اؾز ضا ٘كبٖ ٔی ز‪ٞ‬س‪.‬‬
‫ٕٔىٗ اؾز ایٗ ثط٘بٔ‪ ٝ‬یه دط‪ٚ‬غ‪ ٜ‬ؾبز‪ ٜ‬یب یه دط‪ٚ‬غ‪ ٜ‬چ‪ٙ‬س ثركی ثبقس‪ .‬اٌط ‪ Solution Explorer‬زض نفح‪ ٝ‬قٕب ٕ٘بیف زاز‪ٜ‬‬

‫‪29‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫ٕ٘ی ق‪ٛ‬ز ٔی س‪ٛ‬ا٘یس اظ ٔؿیط ‪ ٚ View > Other Windows > Solution Explorer‬یب ثب وّیس‪ٞ‬بی ٔیب٘جط ‪Ctrl+Alt+L‬‬
‫آ٘طا ٕ٘بیبٖ و‪ٙ‬یس‪ .‬اٌط چ‪ٙ‬سیٗ دط‪ٚ‬غ‪ ٜ‬زض حبَ اخطا ‪ٞ‬ؿش‪ٙ‬س دط‪ٚ‬غ‪ ٜ‬ای و‪ ٝ‬ثب ذظ ثطخؿش‪٘ (Bold) ٝ‬كبٖ زاز‪ ٜ‬قس‪ ٜ‬دط‪ٚ‬غ‪ ٜ‬فقبَ ٔی‬
‫ثبقس ‪ٍٙٞ ٚ‬بْ اخطای ثط٘بٔ‪ ٝ‬اخطا ٔی ق‪ٛ‬ز‪ .‬اٌط ثر‪ٛ‬ا‪ٞ‬یس دط‪ٚ‬غ‪ ٜ‬ای ضا و‪ ٝ‬فقبَ ٘یؿز اخطا و‪ٙ‬یس‪ ،‬ثط ض‪ٚ‬ی ‪Solution Explorer‬‬
‫وّیه ضاؾز و‪ٙ‬یس ‪ ٚ‬ؾذؽ ٌعی‪ Set as StartUp Project ٝٙ‬ضا ا٘شربة ٕ٘بییس ‪ .‬قىُ ظیط یه ‪ Solution‬ثب ز‪ ٚ‬دط‪ٚ‬غ‪ ٜ‬ضا ٘كبٖ‬
‫ٔی ز‪ٞ‬س‪ٞ .‬ط دط‪ٚ‬غ‪ ٜ‬قبُٔ فبیّ‪ٟ‬ب ‪ ٚ‬ف‪ِٛ‬سض‪ٞ‬بی ٔطث‪ٛ‬ط ث‪ ٝ‬ذ‪ٛ‬ز ‪.‬‬
‫اؾز‬

‫‪ - 3‬خٌجشُ خَاف )‪(Properties‬‬

‫‪30‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫د‪ٙ‬دط‪ ٜ‬ذ‪ٛ‬ال)‪ ، (Properties‬ذ‪ٛ‬ال ‪ ٚ‬ض‪ٚ‬یساز‪ٞ‬بی ٔرشّف ‪ٞ‬ط آیشٓ ا٘شربة قس‪ ٜ‬افٓ اظ فطْ ‪ ،‬فبیُ ‪ ،‬دط‪ٚ‬غ‪ ٚ ٜ‬و‪ٙ‬شطَ ضا ٘كبٖ ٔی‬
‫ز‪ٞ‬س‪ .‬اٌط ایٗ د‪ٙ‬دط‪ٔ ٜ‬رفی اؾز‪ٔ ،‬ی س‪ٛ‬ا٘یس اظ ٔؿیط ‪ View > Properties Window‬یب وّیس ٔیب٘جط ‪ F4‬آ٘طا ؽب‪ٞ‬ط و‪ٙ‬یس‪ .‬زض‬
‫ٔ‪ٛ‬ضز ذ‪ٛ‬ال زض زضؾ‪ٟ‬بی آی‪ٙ‬س‪ٔ ٜ‬فهُ س‪ٛ‬ضیح ذ‪ٛ‬ا‪ٞ‬یٓ زاز‪ .‬ذبنیز ‪ٞ‬ب ‪ٚ ،‬یػٌی‪ٟ‬ب ‪ ٚ‬نفبر اقیب ضا ٘كبٖ ٔی ز‪ٙٞ‬س‪ .‬ث‪ ٝ‬ف‪ٛٙ‬اٖ ٔثبَ‬
‫یه ٔبقیٗ زاضای ذ‪ٛ‬انی ٔب٘‪ٙ‬س ضً٘ ‪ ،‬ؾطفز‪ ،‬ا٘ساظ‪ٔ ٚ ٜ‬سَ اؾز‪ .‬اٌط یه فطْ یب و‪ٙ‬شطَ ضا زض نفح‪ ٝ‬عطاحی ‪ ٚ‬یب یه دط‪ٚ‬غ‪ ٜ‬یب‬
‫فبیُ ضا زض ‪ SolutionExplorer‬ا٘شربة و‪ٙ‬یس د‪ٙ‬دط‪ ٜ‬ذ‪ٛ‬ال ٔطث‪ٛ‬ط ث‪ ٝ‬آ٘‪ٟ‬ب ٕ٘بیف زاز‪ ٜ‬ذ‪ٛ‬ا‪ٞ‬س قس‪ .‬ایٗ د‪ٙ‬دط‪ٕٞ ٜ‬چ‪ٙ‬یٗ زاضای‬
‫ض‪ٚ‬یساز‪ٞ‬بی ٔطث‪ٛ‬ط ث‪ ٝ‬فطْ یب و‪ٙ‬شطَ ا٘شربة قس‪ٔ ٜ‬ی ثبقس‪ .‬یه ض‪ٚ‬یساز )‪ (event‬اسفبلی اؾز و‪ ٝ‬زض قطایظ ذبنی دیف ٔی آیس‬
‫ٔب٘‪ٙ‬س ‪ٚ‬لشی و‪ ٝ‬ثط ض‪ٚ‬ی زوٕ‪ (button) ٝ‬وّیه ‪ ٚ‬یب ٔش‪ٙ‬ی ضا زض زاذُ خقج‪ٔ ٝ‬شٗ )‪ (text box‬انالح ٔی و‪ٙ‬یٓ‪ .‬وٕج‪ ٛ‬ثبوؽ‬
‫…)ضا و‪ٝ‬‬
‫)‪ (combo box‬قىُ ثبال و‪ ٝ‬ثب حطف ‪٘ A‬كبٖ زاز‪ ٜ‬قس‪ ٜ‬اؾز ث‪ ٝ‬قٕب اخبظ‪ٔ ٜ‬ی ز‪ٞ‬س و‪ ٝ‬قی ٔ‪ٛ‬ضز ٘ؾطسبٖ (زوٕ‪ ،ٝ‬فطْ ‪ٚ‬‬
‫ٔی ذ‪ٛ‬ا‪ٞ‬یس ذ‪ٛ‬ال آ٘طا سغییط ز‪ٞ‬یس ا٘شربة و‪ٙ‬یس‪ .‬ایٗ وبض ظٔب٘ی ٔفیساؾز و‪ ٝ‬و‪ٙ‬شطِ‪ٟ‬بی ض‪ٚ‬ی فطْ ثؿیبض و‪ٛ‬چه یب ث‪٘ ٓٞ ٝ‬عزیه‬
‫‪ (B).‬ثطذی اظ ایٗ زوٕ‪ٞ ٝ‬ب زض قطایظ ذبنی‬
‫ث‪ٛ‬ز‪ ٚ ٜ‬ا٘شربة آ٘‪ٟ‬ب ؾرز ثبقس‪ .‬زض ظیط وٕج‪ ٛ‬ثبوؽ ثبال زوٕ‪ٞ ٝ‬بی ٔفیسی لطاض زاض٘س‬
‫فقبَ ٔی ق‪٘ٛ‬س‪ .‬زوٕ‪ ٝ‬ا‪ َٚ‬ذبنیز اقیب ضا ثط اؾبؼ زؾش‪ٞ ٝ‬بی ٔرشّفی ٔطست ٔی و‪ٙ‬س‪ .‬ز‪ٔٚ‬یٗ زوٕ‪ ٝ‬ذ‪ٛ‬ال ضا ثط اؾبؼ حط‪ٚ‬ف‬
‫اِفجب ٔطست ٔی و‪ٙ‬س و‪ ٝ‬دیك‪ٟٙ‬بز ٔی و‪ٙ‬یٓ اظ ایٗ زوٕ‪ ٝ‬ثطای زؾشطؾی ؾطیـ ث‪ ٝ‬ذبنیز ٔ‪ٛ‬ضز ٘ؾطسبٖ اؾشفبز‪ ٜ‬و‪ٙ‬یس‪ .‬ؾ‪ٔٛ‬یٗ زوٕ‪ٝ‬‬
‫‪ٚ ٓٞ‬لشی ؽب‪ٞ‬ط ٔی ق‪ٛ‬ز و‪ ٝ‬یه و‪ٙ‬شطَ یب یه فطْ ضا زض ٔحیظ عطاحی ا٘شربة و‪ٙ‬یٓ‪ .‬ایٗ زوٕ‪ ٝ‬ث‪ ٝ‬قٕب اخبظ‪ ٜ‬زؾشطؾی ث‪ ٝ‬ذ‪ٛ‬ال‬
‫فطْ ‪ٚ‬یب و‪ٙ‬شطَ ا٘شربة قس‪ ٜ‬ضا ٔی ز‪ٞ‬س‪ .‬چ‪ٟ‬بضٔیٗ زوٕ‪ ( ٝ‬و‪ ٝ‬ث‪ ٝ‬قىُ یه ضفس ‪ ٚ‬ثطق ٕ٘بیف زاز‪ ٜ‬قس‪ )ٜ‬ض‪ٚ‬یساز‪ٞ‬بی فطْ ‪ٚ‬یب و‪ٙ‬شطَ‬
‫ا٘شربة قس‪ ٜ‬ضا ٔی ز‪ٞ‬س‪ .‬زض دبییٗ قىُ ثبال س‪ٛ‬ضیحبر و‪ٛ‬سب‪ٞ‬ی زض ٔ‪ٛ‬ضز ذبنیز ‪ٞ‬ب ‪ ٚ‬ض‪ٚ‬یساز ‪ٞ‬ب ٘كبٖ زاز‪ٔ ٜ‬ی ق‪ٛ‬ز‪ .‬ثرف انّی‬
‫د‪ٙ‬دط‪ ٜ‬ذ‪ٛ‬ال)‪ (C‬قبُٔ ذ‪ٛ‬ال ‪ ٚ‬ض‪ٚ‬یساز‪ٞ‬ب اؾز‪ .‬زض ؾش‪ ٖٛ‬ؾٕز چخ ٘بْ ض‪ٚ‬یساز یب ذبنیز ‪ ٚ‬زض ؾش‪ ٖٛ‬ؾٕز ضاؾز ٔمساض آ٘‪ٟ‬ب‬
‫آٔس‪ ٜ‬اؾز‪ .‬زض دبییٗ د‪ٙ‬دط‪ ٜ‬ذ‪ٛ‬ال خقج‪ ٝ‬س‪ٛ‬ضیحبر)‪ (D‬لطاض زاضز و‪ ٝ‬س‪ٛ‬ضیحبسی زضثبض‪ ٜ‬ذ‪ٛ‬ال ‪ ٚ‬ض‪ٚ‬یساز‪ٞ‬ب زض آٖ ٕ٘بیف زاز‪ٔ ٜ‬ی‬
‫ق‪ٛ‬ز‪.‬‬

‫زغییش ظاّش ٍیظٍال اػسَدیَ‬


‫اٌط ٔ‪ٛ‬لقیز د‪ٙ‬دط‪ٞ ٜ‬ب ‪ ٚ‬یب ؽب‪ٞ‬ط ثط٘بٔ‪ٚ ٝ‬یػ‪ٚ‬اَ اؾش‪ٛ‬زی‪ ٛ‬ضا ز‪ٚ‬ؾز ٘ساقش‪ ٝ‬ثبقیس‪ٔ ،‬ی س‪ٛ‬ا٘یس ث‪ ٝ‬زِر‪ٛ‬ا‪ ٜ‬آٖ ضا سغییط‬
‫ز‪ٞ‬یس‪ .‬ثطای ایٗ وبض ثط ض‪ٚ‬ی ٘‪ٛ‬اض ف‪ٛٙ‬اٖ )‪ (title bar‬وّیه وطز‪ ٚ ٜ‬آ٘طا ٔی وكیس سب د‪ٙ‬دط‪ ٜ‬ث‪ ٝ‬قىُ ظیط ث‪ ٝ‬حبِز ق‪ٙ‬ب‪ٚ‬ض‬
‫زض آیس ‪:‬‬

‫‪31‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫زض حبِی و‪ٛٙٞ ٝ‬ظ ثط ض‪ٚ‬ی د‪ٙ‬دط‪ ٜ‬وّیه وطز‪ ٜ‬ایس ‪ ٚ‬آٖ ضا ٔی وكیس یه ضا‪ٕٙٞ‬ب (فّكی ثب چ‪ٟ‬بض خ‪ٟ‬ز) ؽب‪ٞ‬ط ٔی ق‪ٛ‬ز ‪ٚ‬‬
‫قٕب ضا زض لطاض زازٖ د‪ٙ‬دط‪ ٜ‬زض ٔحُ زِر‪ٛ‬ا‪ ٜ‬وٕه ٔی و‪ٙ‬س‪ .‬ث‪ ٝ‬ف‪ٛٙ‬اٖ ٔثبَ قٕب ٔی س‪ٛ‬ا٘یس د‪ٙ‬دط‪ ٜ‬ضا زض ثبالسطیٗ لؿٕز‬

‫‪32‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫ٔحیظ ثط٘بٔ‪ ٝ‬لطاض ز‪ٞ‬یس‪ٙٔ .‬غم‪ ٝ‬ای و‪ ٝ‬د‪ٙ‬دط‪ ٜ‬لطاض اؾز زض آ٘دب لطاض ثٍیطز ث‪ ٝ‬ضً٘ آثی زض ٔی آیس ‪:‬‬

‫‪33‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫‪.‬‬

‫د‪ٙ‬دط‪ ٜ‬زض لؿٕز ثبالی ٔحیظ لطاض زاز‪ ٜ‬قس‪ ٜ‬اؾز‪ .‬ضا‪ٕٙٞ‬بی نّیت قىُ حب‪ٚ‬ی خقج‪ٞ ٝ‬بی ٔرشّفی اؾز و‪ ٝ‬ث‪ ٝ‬قٕب‬
‫اؾش‪ٛ‬زی‪ ٛ‬لطاض ز‪ٞ‬یس‪ .‬ث‪ ٝ‬ف‪ٛٙ‬اٖ ٔثبَ د‪ٙ‬دط‪ٜ‬‬ ‫اخبظ‪ٔ ٜ‬ی ز‪ٞ‬س د‪ٙ‬دط‪ ٜ‬ا٘شربة قس‪ ٜ‬ضا زض ٔحُ زِر‪ٛ‬ا‪ٔ ٜ‬حیظ ‪ٚ‬یػ‪ٚ‬اَ‬
‫‪ Properties‬ضا ا٘شربة و‪ٙ‬یس ‪ ٚ‬آ٘طا ث‪ ٝ‬چخ سطیٗ لؿٕز نّیت زض د‪ٙ‬دط‪ٕ٘ ٜ‬بیف زاز‪ ٜ‬قس‪٘ ٜ‬عزیه ‪ ٚ‬ض‪ٞ‬ب و‪ٙ‬یس‪،‬‬
‫‪:‬‬ ‫‪ Design View‬لطاض ٔی ٌیطز‬ ‫ٔكب‪ٞ‬س‪ٔ ٜ‬ی و‪ٙ‬یس و‪ ٝ‬د‪ٙ‬دط‪ٔ ٜ‬صو‪ٛ‬ض زض ؾٕز چخ د‪ٙ‬دط‪ٜ‬‬

‫‪34‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫وكیسٖ د‪ٙ‬دط‪ ٜ‬ث‪ٔ ٝ‬طوع نّیت ضا‪ٕٙٞ‬ب ثبفث سطویت آٖ ثب د‪ٙ‬دط‪ٔ ٜ‬مهس ٔی ق‪ٛ‬ز و‪ ٝ‬زض ٔثبَ ثبال قٕب ٔی س‪ٛ‬ا٘یس ث‪ٝ‬‬
‫ف‪ٛٙ‬اٖ یه ست ث‪ ٝ‬د‪ٙ‬دط‪ Properties ٜ‬زؾز دیسا و‪ٙ‬یس‪.‬‬

‫‪35‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫اٌط ث‪ ٝ‬ف‪ٛٙ‬اٖ ٔثبَ د‪ٙ‬دط‪ Properties ٜ‬ضا ض‪ٚ‬ی د‪ٙ‬دط‪ Solution Explorer ٜ‬ثىكیس‪ ،‬یه نّیت ضا‪ٕٙٞ‬بی زیٍط ٘كبٖ‬
‫زاز‪ٔ ٜ‬ی ق‪ٛ‬ز‪ .‬ثب وكیسٖ د‪ٙ‬دط‪ ٜ‬ث‪ ٝ‬لؿٕز دبیی‪ٙ‬ی نّیت ‪ ،‬د‪ٙ‬دط‪ Properties ٜ‬ظیط د‪ٙ‬دط‪ Solution Explorer ٜ‬لطاض‬
‫ذ‪ٛ‬ا‪ٞ‬س ٌطفز ‪.‬‬

‫‪36‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫لؿٕشی اظ ٔحیظ ثط٘بٔ‪ ٝ‬و‪ٔ ٝ‬ی ذ‪ٛ‬ا‪ٞ‬یس د‪ٙ‬دط‪ ٜ‬زض آ٘دب لطاض ثٍیطز ث‪ ٝ‬ضً٘ آثی زض ٔی آیس‪ٚ .‬یػ‪ٚ‬اَ ؾی قبضح ‪ٕٞ‬چ‪ٙ‬یٗ‬
‫زاضای ذه‪ٛ‬نیشی ث‪٘ ٝ‬بْ ‪ autohide‬اؾز و‪ ٝ‬ث‪ ٝ‬ن‪ٛ‬ضر اس‪ٔٛ‬بسیه د‪ٙ‬دط‪ٞ ٜ‬ب ضا ٔرفی ٔی و‪ٙ‬س‪ٞ .‬ط د‪ٙ‬دط‪ ٜ‬زاضای یه‬
‫آیى‪ ٖٛ‬ؾ‪ٙ‬دبق ٔب٘‪ٙ‬س ٘عزیه زوٕ‪ٔ close ٝ‬ی ثبقس ‪.‬‬

‫‪37‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫‪ auto-hide‬فقبَ ق‪ٛ‬ز‪ .‬ثطای زؾشطؾی ث‪ٞ ٝ‬ط یه اظ د‪ٙ‬دط‪ٞ ٜ‬ب ٔی س‪ٛ‬اٖ ثب‬ ‫ثط ض‪ٚ‬ی ایٗ آیى‪ ٖٛ‬وّیه و‪ٙ‬یس سب ‪ٚ‬یػٌی‬
‫ْا ‪ٚ‬ؼ ثط ض‪ٚ‬ی آ٘‪ٟ‬ب س‪ٛ‬لف یب ثط ض‪ٚ‬ی ست ‪ٞ‬بی و‪ٙ‬بض ٔحیظ ‪ٚ‬یػ‪ٚ‬اَ اؾش‪ٛ‬زی‪ ٛ‬وّیه وطز‪.‬‬

‫ثطای غیط فقبَ وطزٖ ایٗ ‪ٚ‬یػٌی زض ‪ٞ‬ط وساْ اظ د‪ٙ‬دط‪ٞ ٜ‬ب وبفیؿز د‪ٙ‬دط‪ ٜ‬ضا ا٘شربة وطز‪ ٚ ٜ‬ز‪ٚ‬ثبض‪ ٜ‬ثط ض‪ٚ‬ی آیى‪ٛٔ ٖٛ‬ضز‬
‫٘ؾط وّیه و‪ٙ‬یس‪.‬‬

‫‪38‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫ث‪ ٝ‬ایٗ ٘ىش‪ ٝ‬س‪ٛ‬خ‪ ٝ‬و‪ٙ‬یس و‪ ٝ‬اٌط قىُ آیى‪ ٖٛ‬افمی ث‪ٛ‬ز ثسیٗ ٔق‪ٙ‬بؾز و‪ٚ ٝ‬یػٌی فقبَ ‪ ٚ‬اٌط قىُ آٖ فٕ‪ٛ‬زی ث‪ٛ‬ز ث‪ٝ‬‬
‫ٔق‪ٙ‬بی غیط فقبَ ث‪ٛ‬ز ‪ٚ‬یػٌی ‪ٔ auto-hide‬ی ثبقس ‪.‬‬

‫ػاخر یه تشًاهِ ػادُ‬


‫اخبظ‪ ٜ‬ثس‪ٞ‬یس یه ثط٘بٔ‪ ٝ‬ثؿیبض ؾبز‪ ٜ‬ث‪ ٝ‬ظثبٖ ؾی قبضح ث‪ٛٙ‬یؿیٓ‪ .‬ایٗ ثط٘بٔ‪ ٝ‬یه دیغبْ ضا زض ٔحیظ و‪ٙ‬ؿ‪ٕ٘ َٛ‬بیف ٔی ز‪ٞ‬س‪.‬زض ایٗ‬
‫زضؼ ٔی ذ‪ٛ‬ا‪ ٓٞ‬ؾبذشبض ‪ ٚ‬زؾش‪ٛ‬ض ظثبٖ یه ثط٘بٔ‪ ٝ‬ؾبز‪ ٜ‬ؾی قبضح ضا س‪ٛ‬ضیح ز‪ .ٓٞ‬ثط٘بٔ‪ Visual Studio Community ٝ‬ضا‬
‫اخطا و‪ٙ‬یس‪ .‬اظ ٔؿیط ‪ File > New Project‬یه دط‪ٚ‬غ‪ ٜ‬خسیس ایدبز و‪ٙ‬یس‪ .‬حبَ ثب یه نفح‪ٛٔ ٝ‬اخ‪ٔ ٝ‬ی ق‪ٛ‬یس و‪ ٝ‬اظ قٕب ٔی‬
‫ظیط‪:‬‬
‫ذ‪ٛ‬ا‪ٞ‬س ٘بْ دط‪ٚ‬غ‪ ٜ‬سبٖ ضا ا٘شربة ‪ ٚ‬آٖ ضا ایدبز و‪ٙ‬یس(قىُ )‬

‫‪39‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫‪Console‬‬ ‫‪ MyFirstProgram‬ثٍصاضیس ‪ .‬یه‬ ‫ٌعی‪ Console Application ٝٙ‬ضا ا٘شربة و‪ٙ‬یس ‪٘ ٚ‬بْ دط‪ٚ‬ظ‪ ٜ‬سبٖ ضا‬
‫‪ Application‬ثط٘بٔ‪ ٝ‬ای سحز زاؼ زض ٔحیظ ‪ٚ‬ی‪ٛٙ‬ظ اؾز ‪ ٚ‬فبلس ٔحیظ ٌطافیىی ٔی ثبقس‪ .‬ث‪ٟ‬شط اؾز ثط٘بٔ‪ ٝ‬ذ‪ٛ‬ز ضا زض ٔحیظ‬
‫و‪ٙ‬ؿ‪ َٛ‬ث‪ٛٙ‬یؿیس سب ثیكشط ثب ٔف‪ ْٟٛ‬ثط٘بٔ‪ٛ٘ ٝ‬یؿی آق‪ٙ‬ب ق‪ٛ‬یس‪ .‬ثقس اظ ای‪ٙ‬ى‪ ٝ‬آٔ‪ٛ‬ظـ ٔجب٘ی ظثبٖ ث‪ ٝ‬دبیبٖ ضؾیس‪ ،‬ثط٘بٔ‪ٛ٘ ٝ‬یؿی زض‬
‫ٔحیظ ‪ٚ‬ی‪ٙ‬س‪ٚ‬ظ ‪ ٚ‬ثرف ثهطی ؾی قبضح ضا آٔ‪ٛ‬ظـ ذ‪ٛ‬ا‪ٞ‬یٓ زاز‪ .‬ثقس اظ فكطزٖ زوٕ‪ٚ ،OK ٝ‬یػ‪ٚ‬اَ اؾش‪ٛ‬زی‪ ٛ‬یه ‪ solution‬زض‬
‫یه ف‪ِٛ‬سض ٔ‪ٛ‬لشی ایدبز ٔی و‪ٙ‬س‪.‬یه ‪ٔ solution‬دٕ‪ٛ‬ف‪ ٝ‬ای اظ دط‪ٚ‬غ‪ٞ ٜ‬بؾز ‪،‬أب زض ثیكشط سٕطی‪ٙ‬بر قبُٔ یه دط‪ٚ‬غ‪ٔ ٜ‬ی ثبقس‪.‬‬
‫دط‪ٚ‬غ‪ ٜ‬خسیس‬ ‫فبیُ ‪ solution‬زاضای دؿ‪٘ٛ‬س ‪ sln‬ث‪ٛ‬ز‪ ٚ ٜ‬قبُٔ خعییبسی زض ٔ‪ٛ‬ضز دط‪ٚ‬غ‪ٞ ٜ‬ب ‪ ٚ‬فبیّ‪ٟ‬بی ‪ٚ‬اثؿش‪ ٝ‬ث‪ ٝ‬آٖ ٔی ثبقس‪.‬‬
‫‪ٕٞ‬چ‪ٙ‬یٗ حب‪ٚ‬ی یه فبیُ ثب دؿ‪٘ٛ‬س ‪ٔ .csproj‬ی ثبقس و‪ ٝ‬آٖ ٘یع قبُٔ خعییبسی زض ٔ‪ٛ‬ضز دط‪ٚ‬غ‪ٞ ٜ‬ب ‪ ٚ‬فبیّ‪ٟ‬بی ‪ٚ‬اثؿش‪ ٝ‬ث‪ ٝ‬آٖ ٔی‬
‫ثبقس‪ .‬حبَ ٔی ذ‪ٛ‬ا‪ٞ‬یٓ قٕب ضا ثب ٔحیظ وس ٘‪ٛ‬یؿی آق‪ٙ‬ب ‪.‬‬
‫و‪ٙ‬یٓ‬

‫‪40‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫ٔحیظ وس٘‪ٛ‬یؿی خبیی اؾز و‪ٔ ٝ‬ب وس‪ٞ‬ب ضا زض آٖ سبیخ ٔی و‪ٙ‬یٓ‪ .‬وس‪ٞ‬ب زض ٔحیظ وس٘‪ٛ‬یؿی ث‪ ٝ‬ن‪ٛ‬ضر ضٍ٘ی سبیخ ٔی ق‪٘ٛ‬س زض‬
‫٘شید‪ ٝ‬سكریم ثرك‪ٟ‬بی ٔرشّف وس ضا ضاحز ٔی و‪ٙ‬س‪ٛٙٔ .‬ی ؾٕز چخقبُٔ(قٕبض‪٘ )1 ٜ‬بْ دط‪ٚ‬غ‪ ٜ‬ای و‪ ٝ‬ایدبز وطز‪ ٜ‬ایس‪ٛٙٔ ،‬ی‬
‫‪ٚ‬ؾظ (قٕبض‪ )2 ٜ‬قبُٔ ِیؿز والؾ‪ٟ‬ب ‪،‬ؾبذشبض‪ٞ‬ب ‪ ،‬ا٘‪ٛ‬اؿ قٕبضقی ‪ٛٙٔ ٚ… ٚ‬ی ؾٕز ضاؾز (قٕبض‪ )3 ٜ‬قبُٔ افضبی والؾ‪ٟ‬ب‬
‫‪،‬ؾبذشبض‪ٞ‬ب ‪ ،‬ا٘‪ٛ‬اؿ قٕبضقی‪ٔ …ٚ‬ی ثبقس‪ٍ٘ .‬طاٖ انغالحبسی و‪ ٝ‬ث‪ ٝ‬وبض ثطزیٓ ٘جبقیس آ٘‪ٟ‬ب ضا زض فه‪ َٛ‬ثقسس‪ٛ‬ضیح ذ‪ٛ‬ا‪ ٓٞ‬زاز‪ٕٝٞ .‬‬
‫فبیّ‪ٟ‬بی زاضای وس زض ؾی قبضح زاضای دؿ‪٘ٛ‬س ‪ٞ .cs‬ؿش‪ٙ‬س‪ .‬زض ٔحُ وس ٘‪ٛ‬یؿی وس‪ٞ‬بیی اظ لجُ ٘‪ٛ‬قش‪ ٝ‬قس‪ ٜ‬و‪ ٝ‬ثطای قط‪ٚ‬ؿ قٕب‬
‫‪:‬‬
‫ث‪ٛٙ‬یؿیس‬ ‫آ٘‪ٟ‬ب ضا دبن و‪ٙ‬یس ‪ ٚ‬وس‪ٞ‬بی ظیط ضا زض ٔحُ وس٘‪ٛ‬یؿی‬

‫‪namespace MyFirstProgram‬‬
‫{‬
‫‪class Program‬‬
‫{‬
‫)(‪static void Main‬‬
‫{‬
‫;)"!‪System.Console.WriteLine("Welcome to Visual C# Tutorials‬‬
‫}‬
‫}‬
‫}‬

‫‪41‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫ػاخساس یه تشًاهِ دس ػی ؿاسج‬

‫ٔثبَ ثبال ؾبز‪ ٜ‬سطیٗ ثط٘بٔ‪ ٝ‬ای اؾز و‪ ٝ‬قٕب ٔی س‪ٛ‬ا٘یس زض ؾی قبضح ث‪ٛٙ‬یؿیس‪ٞ .‬سف زض ٔثبَ ثبال ٕ٘بیف یه دیغبْ زض نفح‪ٝ‬‬
‫ٕ٘بیف اؾز‪ٞ .‬ط ظثبٖ ثط٘بٔ‪ٛ٘ ٝ‬یؿی زاضای ل‪ٛ‬افسی ثطای وس٘‪ٛ‬یؿی اؾز‪ .‬اخبظ‪ ٜ‬ثس‪ٞ‬یس ‪ٞ‬ط ذظ وس ضا زض ٔثبَ ثبال س‪ٛ‬ضیح ثس‪ٞ‬یٓ‪.‬‬

‫زض ذظ ‪ 1‬فضبی ٘بْ (‪ )namespace‬سقطیف قس‪ ٜ‬اؾز و‪ ٝ‬قبُٔ وس‪ٞ‬بی ٘‪ٛ‬قش‪ ٝ‬قس‪ ٜ‬س‪ٛ‬ؾظ قٕب اؾز ‪ ٚ‬اظ سساذُ ٘بٔ‪ٟ‬ب خّ‪ٌٛ‬یطی‬
‫ٔی و‪ٙ‬س‪ .‬زض ثبض‪ ٜ‬فضبی ٘بْ زض زضؾ‪ٟ‬بی آی‪ٙ‬س‪ ٜ‬س‪ٛ‬ضیح ذ‪ٛ‬ا‪ٞ‬یٓ زاز‪.‬‬

‫زض ذظ ‪ 2‬آو‪ٛ‬الز ( } ) ٘‪ٛ‬قش‪ ٝ‬قس‪ ٜ‬اؾز‪.‬آو‪ٛ‬الز ثطای سقطیف یه ثّ‪ٛ‬ن وس ث‪ ٝ‬وبض ٔی ض‪ٚ‬ز‪ .‬ؾی قبضح یه ظثبٖ ؾبذز یبفش‪ ٝ‬اؾز‬
‫و‪ ٝ‬قبُٔ وس‪ٞ‬بی ظیبز ‪ ٚ‬ؾبذشبض‪ٞ‬بی فطا‪ٚ‬ا٘ی ٔی ثبقس‪ٞ.‬ط آو‪ٛ‬الز ثبظ( { ) زض ؾی قبضح ثبیس زاضای یه آو‪ٛ‬الز ثؿش‪٘ ) } ( ٝ‬یع‬
‫ثبقس‪ ٕٝٞ .‬وس‪ٞ‬بی ٘‪ٛ‬قش‪ ٝ‬قس‪ ٜ‬اظ ذظ‪ 2‬سب ذظ ‪ 10‬یه ثّ‪ٛ‬ن وس یب ثس٘‪ ٝ‬فضبی ٘بْ اؾز‪.‬‬

‫زض ذظ ‪ 3‬یه والؼ سقطیف قس‪ ٜ‬اؾز‪ .‬زض ثبض‪ ٜ‬والؾ‪ٟ‬ب زض فهّ‪ٟ‬بی آی‪ٙ‬س‪ ٜ‬س‪ٛ‬ضیح ذ‪ٛ‬ا‪ٞ‬یٓ زاز‪ .‬زض ٔثبَ ثبال وس‪ٞ‬بی قٕب ثبیس زض‬
‫ذظ سب ‪ٔ 9‬ی ثبقس‪.‬‬
‫زاذُ یه والؼ ٘‪ٛ‬قش‪ ٝ‬ق‪ٛ‬ز‪ .‬ثس٘‪ ٝ‬والؼ قبُٔ وس ‪ٞ‬بی ٘‪ٛ‬قش‪ ٝ‬قس‪ ٜ‬اظ ‪4‬‬

‫زض ذظ ‪ٔ 5‬شس ‪ Main‬یب ٔشس انّی سقطیف قس‪ ٜ‬اؾز‪ٞ .‬ط ٔشس قبُٔ یه ؾطی وس اؾز و‪ٚ ٝ‬لشی اخطا ٔی ق‪٘ٛ‬س و‪ٔ ٝ‬شس ضا نسا‬
‫ثع٘یٓ‪ .‬زضثبض‪ٔ ٜ‬شس ‪٘ ٚ‬ح‪ ٜٛ‬نسا ظزٖ آٖ زض فه‪ َٛ‬ثقسی س‪ٛ‬ضیح ذ‪ٛ‬ا‪ٞ‬یٓ زاز‪ٔ.‬شس ‪٘ Main‬مغ‪ ٝ‬آغبظ اخطای ثط٘بٔ‪ ٝ‬اؾز‪.‬ایٗ ثساٖ‬
‫ٔق‪ٙ‬بؾز و‪ ٝ‬اثشسا سٕبْ وس‪ٞ‬بی زاذُ ٔشس ‪ ٚ Main‬ؾذؽ ثمی‪ ٝ‬وس‪ٞ‬ب اخطا ٔی ق‪ٛ‬ز‪.‬زض ثبض‪ٔ ٜ‬شس ‪ Main‬زض فه‪ َٛ‬ثقسی س‪ٛ‬ضیح‬
‫ذ‪ٛ‬ا‪ٞ‬یٓ زاز‪ٔ.‬شس ‪ ٚ Main‬ؾبیط ٔشس‪ٞ‬ب زاضای آو‪ٛ‬الز ‪ ٚ‬وس‪ٞ‬بیی زض زاذُ آ٘‪ٟ‬ب ٔی ثبق‪ٙ‬س ‪ٚ ٚ‬لشی وس‪ٞ‬ب اخطا ٔی ق‪٘ٛ‬س و‪ٔ ٝ‬شس‪ٞ‬ب ضا‬
‫نسا ثع٘یٓ‪ٞ .‬ط ذظ وس زض ؾی قبضح ث‪ ٝ‬یه ؾیٕیى‪ ) ; ( ِٗٛ‬ذشٓ ٔی ق‪ٛ‬ز‪ .‬اٌط ؾیٕیى‪ ِٗٛ‬زض آذط ذظ فطأ‪ٛ‬ـ ق‪ٛ‬ز ثط٘بٔ‪ ٝ‬ثب‬
‫ذغب ٔ‪ٛ‬اخ‪ٔ ٝ‬ی ق‪ٛ‬ز‪ٔ .‬ثبِی اظ یه ذظ وس زض ؾی قبضح ث‪ ٝ‬ن‪ٛ‬ضر ظیط اؾز ‪:‬‬

‫;)"!‪System.Console.WriteLine("Welcome to Visual C# Tutorials‬‬

‫ایٗ ذظ وس دیغبْ !‪ Welcome to Visual C# Tutorials‬ضا زض نفح‪ٕ٘ ٝ‬بیف ٘كبٖ ٔی ز‪ٞ‬س‪.‬اظ ٔشس)(‪ WriteLine‬ثطای چبح‬
‫یه ضقش‪ ٝ‬اؾشفبز‪ٔ ٜ‬ی ق‪ٛ‬ز‪ .‬یه ضقش‪ٌ ٝ‬ط‪ٞٚ‬ی اظ وبضاوشط‪ٞ‬ب اؾز و‪ ٝ‬ث‪ٚ ٝ‬ؾیّ‪ ٝ‬زاثُ و‪ٛ‬سیكٗ ( “) ٔحه‪ٛ‬ض قس‪ ٜ‬اؾز‪ٔ .‬ب٘‪ٙ‬س‬
‫‪ ."Welcome to Visual C# Tutorials!":‬یه وبضاوشط ٔی س‪ٛ‬ا٘س یه حطف‪،‬فسز‪ ،‬فالٔز یب ‪ ...‬ثبقس‪ .‬زض وُ ٔثبَ ثبال‪٘ ،‬ح‪ٜٛ‬‬
‫‪ Console‬و‪ ٝ‬آٖ ٘یع ث‪ٛ٘ ٝ‬ث‪ ٝ‬ذ‪ٛ‬ز زض زاذُ فضبی ٘بْ‬ ‫‪ WriteLine‬اؾز‪ ،‬و‪ ٝ‬زض زاذُ والؼ‬ ‫اؾشفبز‪ ٜ‬اظ ٔشس‬
‫‪ MyFirstProgram‬لطاض زاضز ضا ٘كبٖ ٔی ز‪ٞ‬س‪ .‬س‪ٛ‬ضیحبر ثیكشط زض زضؾ‪ٟ‬بی آی‪ٙ‬س‪ ٜ‬آٔس‪ ٜ‬اؾز‪ .‬ؾی قبضح فضبی ذبِی ‪ٚ‬‬
‫ذغ‪ٛ‬ط خسیس ضا ٘بزیس‪ٔ ٜ‬ی ٌیطز‪ .‬ث‪ٙ‬بثطایٗ قٕب ٔی س‪ٛ‬ا٘یس ‪ ٕٝٞ‬ثط٘بٔ‪ ٝ‬ضا زض یه ذظ ث‪ٛٙ‬یؿیس‪ .‬أب ای‪ٙ‬ىبض ذ‪ٛ‬ا٘سٖ ‪ ٚ‬اقىبَ ظزایی‬
‫ثط٘بٔ‪ ٝ‬ضا ٔكىُ ٔی و‪ٙ‬س‪ .‬یىی اظ ذغب‪ٞ‬بی ٔقٕ‪ َٛ‬زض ثط٘بٔ‪ٛ٘ ٝ‬یؿی فطأ‪ٛ‬ـ وطزٖ ؾیٕیى‪ ِٗٛ‬زض دبیبٖ ‪ٞ‬ط ذظ وس اؾز‪ .‬ث‪ٔ ٝ‬ثبَ‬
‫ظیط س‪ٛ‬خ‪ ٝ‬و‪ٙ‬یس ‪:‬‬

‫(‪System.Console.WriteLine‬‬
‫;)"!‪"Welcome to Visual C# Tutorials‬‬

‫ٌیطز‪ .‬أب اظ وس ظیط ایطاز ٔی ٌیطز ‪:‬‬


‫ؾی قبضح فضبی ذبِی ثبال ضا ٘بزیس‪ٔ ٜ‬ی ٌیطز ‪ ٚ‬اظ وس ثبال اقىبَ ٕ٘ی‬

‫; (‪System.Console.WriteLine‬‬

‫‪42‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫;)"!‪"Welcome to Visual C# Tutorials‬‬

‫ث‪ ٝ‬ؾیٕیى‪ ِٗٛ‬آذط ذظ ا‪ َٚ‬س‪ٛ‬خ‪ ٝ‬و‪ٙ‬یس‪ .‬ثط٘بٔ‪ ٝ‬ثب ذغبی ٘ح‪ٛ‬ی ٔ‪ٛ‬اخ‪ٔ ٝ‬ی ق‪ٛ‬ز‪ ،‬چ‪ ٖٛ‬ز‪ ٚ‬ذظ وس ٔطث‪ٛ‬ط ث‪ ٝ‬یه ثط٘بٔ‪ٞ ٝ‬ؿش‪ٙ‬س ‪ ٚ‬قٕب‬
‫فمظ ثبیس یه ؾیٕیى‪ ِٗٛ‬زض آذط آٖ لطاض ز‪ٞ‬یس‪ٕٞ .‬یك‪ ٝ‬ث‪ ٝ‬یبز زاقش‪ ٝ‬ثبقیس و‪ ٝ‬ؾی قبضح ث‪ ٝ‬ثعضٌی ‪ ٚ‬و‪ٛ‬چىی حط‪ٚ‬ف حؿبؼ‬
‫اؾز‪.‬یق‪ٙ‬ی ث‪ ٝ‬ع‪ٛ‬ض ٔثبَ‪ man ٚ MAN‬زض ؾی قبضح ثب ‪ ٓٞ‬فطق زاض٘س‪ .‬ضقش‪ٞ ٝ‬ب ‪ ٚ‬س‪ٛ‬ضیحبر اظ ایٗ لبفس‪ٔ ٜ‬ؿشث‪ٙ‬ی ‪ٞ‬ؿش‪ٙ‬س و‪ ٝ‬زض‬
‫زضؾ‪ٟ‬بی آی‪ٙ‬س‪ ٜ‬س‪ٛ‬ضید ذ‪ٛ‬ا‪ٞ‬یٓ زاز‪ٔ .‬ثال وس‪ٞ‬بی ظیط ثب ذغب ٔ‪ٛ‬اخ‪ٔ ٝ‬ی ق‪٘ٛ‬س ‪ ٚ‬اخطا ٕ٘ی ق‪٘ٛ‬س ‪:‬‬

‫;)"!‪system.console.writeline("Welcome to Visual C# Tutorials‬‬


‫;)"!‪SYSTEM.CONSOLE.WRITELINE("Welcome to Visual C# Tutorials‬‬
‫;)"!‪sYsTem.cONsoLe.wRItelIne("Welcome to Visual C# Tutorials‬‬

‫سغییط زض ثعضٌی ‪ ٚ‬و‪ٛ‬چىی حط‪ٚ‬ف اظ اخطای وس‪ٞ‬ب خّ‪ٌٛ‬یطی ٔی و‪ٙ‬س‪ .‬أب وس ظیط وبٔال ثس‪ ٖٚ‬ذغب اؾز ‪:‬‬

‫;)"!‪System.Console.WriteLine("WELCOME TO VISUAL C# TUTORIALS‬‬

‫‪ٕٞ‬یك‪ ٝ‬وس‪ٞ‬بی ذ‪ٛ‬ز ضا زض زاذُ آو‪ٛ‬الز ث‪ٛٙ‬یؿیس‪.‬‬

‫{‬
‫;‪statement1‬‬
‫}‬

‫ایٗ وبض ثبفث ٔی ق‪ٛ‬ز و‪ ٝ‬وس٘‪ٛ‬یؿی قٕب ث‪ٟ‬شط ث‪ ٝ‬چكٓ ثیبیس ‪ ٚ‬سكریم ذغب‪ٞ‬ب ضاحز سط ثبقس‪ .‬یىی اظ ‪ٚ‬یػٌی‪ٟ‬بی ٔ‪ ٟٓ‬ؾی قبضح‬
‫٘كبٖ زازٖ وس‪ٞ‬ب ث‪ ٝ‬ن‪ٛ‬ضر س‪ ٛ‬ضفشٍی اؾز‪ .‬ثسیٗ ٔق‪ٙ‬ی و‪ ٝ‬وس‪ٞ‬ب ضا ث‪ ٝ‬ن‪ٛ‬ضر س‪ ٛ‬ضفشٍی اظ ‪ ٓٞ‬سفىیه ٔی و‪ٙ‬س ‪ ٚ‬ایٗ زض ذ‪ٛ‬ا٘بیی‬
‫ثط٘بٔ‪ ٝ‬ثؿیبض ٔ‪ٛ‬ثط اؾز‪.‬‬

‫رخیشُ خشٍطُ ٍ تشًاهِ‬

‫ثطای شذیط‪ ٜ‬دط‪ٚ‬غ‪ ٚ ٜ‬ثط٘بٔ‪ٔ ٝ‬ی س‪ٛ‬ا٘یس ث‪ٔ ٝ‬ؿیط ‪ File > Save All‬ثط‪ٚ‬یس یب اظ وّیس‪ٞ‬بی ٔیب٘جط ‪ Ctrl+Shift+S‬اؾشفبز‪ ٜ‬و‪ٙ‬یس‪.‬‬

‫وّیه و‪ٙ‬یس‪.‬‬ ‫‪ٕٞ‬چ‪ٙ‬یٗ ٔی س‪ٛ‬ا٘یس اظ لؿٕز ‪ Toolbar‬ثط ض‪ٚ‬ی قىُ‬

‫ثطای شذیط‪ ٜ‬یه فبیُ ؾبز‪ٔ ٜ‬ی س‪ٛ‬ا٘یس ث‪ٔ ٝ‬ؿیط )‪ File > Save (FileName‬ثط‪ٚ‬یس یب اظ وّیس‪ٞ‬بی ٔیب٘جط ‪ Ctrl+S‬اؾشفبز‪ ٜ‬و‪ٙ‬یس‪.‬‬

‫وّیه و‪ٙ‬یس‪.‬‬ ‫‪ٕٞ‬چ‪ٙ‬یٗ ٔی س‪ٛ‬ا٘یس اظ لؿٕز ‪ Toolbar‬ثط ض‪ٚ‬ی قىُ‬

‫زض ‪ toolbar‬وّیه‬ ‫ثطای ثبظ وطزٖ یه دط‪ٚ‬غ‪ ٜ‬یب ثط٘بٔ‪ ٝ‬اظ ٔ‪ٛٙ‬ی ‪ٌ File‬عی‪ Open ٝٙ‬ضا ا٘شربة ٔی و‪ٙ‬یس یب ثط ض‪ٚ‬ی آیى‪ٖٛ‬‬
‫و‪ٙ‬یس‪ .‬ؾذؽ ث‪ٔ ٝ‬حّی و‪ ٝ‬دط‪ٚ‬غ‪ ٜ‬زض آ٘دب شذیط‪ ٜ‬قس‪ٔ ٜ‬یط‪ٚ‬یس ‪ ٚ‬فبیّی ثب دؿ‪٘ٛ‬س‪ sln‬یب دط‪ٚ‬غ‪ ٜ‬ثب دؿ‪٘ٛ‬س ‪ .csproj‬ضا ثبظ ٔی و‪ٙ‬یس‪.‬‬

‫‪43‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫واهدایل تشًاهِ‬

‫لجال یبز شوط قس و‪ ٝ‬وس‪ٞ‬بی ٔب لجُ اظ ای‪ٙ‬ى‪ ٝ‬آ٘‪ٟ‬ب ضا اخطا و‪ٙ‬یٓ اثشسا ث‪ ٝ‬ظثبٖ ٔیب٘ی ٔبیىط‪ٚ‬ؾبفز سطخٕ‪ٔ ٝ‬ی ق‪٘ٛ‬س‪ .‬ثطای وبٔذبیُ‬
‫ثط٘بٔ‪ ٝ‬اظ ٔ‪ٛٙ‬ی ‪ٌ Debug‬عی‪ Build Solution ٝٙ‬ضا ا٘شربة ٔی و‪ٙ‬یس یب زوٕ‪ F6 ٝ‬ضا ثط ض‪ٚ‬ی نفح‪ ٝ‬وّیس فكبض ٔی ز‪ٞ‬یٓ‪ .‬ایٗ‬
‫وبض ‪ ٕٝٞ‬دط‪ٚ‬غ‪ٞ ٜ‬بی زاذُ ‪ solution‬ضا وبٔذبیُ ٔیى‪ٙ‬س‪ .‬ثطای وبٔذبیُ یه لؿٕز اظ‪ solution‬ث‪ٔ Solution Explorer ٝ‬ی‬
‫ض‪ٚ‬یٓ ‪ ٚ‬ثط ض‪ٚ‬ی آٖ لؿٕز ضاؾز وّیه وطز‪ ٚ ٜ‬اظ ٔ‪ٛٙ‬ی ثبظ ق‪٘ٛ‬س ٌعی‪ buildٝٙ‬ضا ا٘شربة ٔی و‪ٙ‬یس‪ٔ .‬ب٘‪ٙ‬س قىُ ‪:‬‬
‫ظیط‬

‫اجشای تشًاهِ‬

‫‪ٚ‬لشی ٔب ثط٘بٔ‪ٔ ٝ‬بٖ ضا اخطا ٔی و‪ٙ‬یٓ ؾی قبضح ث‪ ٝ‬ن‪ٛ‬ضر اس‪ٔٛ‬بسیه وس‪ٞ‬بی ٔب ضا ث‪ ٝ‬ظثبٖ ٔیب٘ی ٔبیىط‪ٚ‬ؾبفز وبٔذبیُ ٔی و‪ٙ‬س‪.‬ز‪ٚ‬‬
‫ضا‪ ٜ‬ثطای اخطای ثط٘بٔ‪ٚ ٝ‬خ‪ٛ‬ز زاضز ‪:‬‬

‫اخطا ‪ٕٞ‬طا‪ ٜ‬ثب اقىبَ ظزایی (‪)Debug‬‬

‫اخطا ثس‪ ٖٚ‬اقىبَ ظزایی (‪)Non-Debug‬‬

‫‪44‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫اخطای ثس‪ ٖٚ‬اقىبَ ظزایی ثط٘بٔ‪ ،ٝ‬ذغب‪ٞ‬بی ثط٘بٔ‪ ٝ‬ضا ٘بزیس‪ٔ ٜ‬ی ٌیطز‪ .‬ثب اخطای ثط٘بٔ‪ ٝ‬زض حبِز‪ Non-Debug‬ؾطیقب ثط٘بٔ‪ ٝ‬اخطا‬
‫ٔی ق‪ٛ‬ز ‪ ٚ‬قٕب ثب ظزٖ یه زوٕ‪ ٝ‬اظ ثط٘بٔ‪ ٝ‬ذبضج ٔی ق‪ٛ‬یس‪ .‬زض حبِز دیف فطو حبِز‪ٔ Non-Debug‬رفی اؾز ‪ ٚ‬ثطای اؾشفبز‪ٜ‬‬
‫اظ آٖ ٔی س‪ٛ‬اٖ اظ ٔ‪ٛٙ‬ی‪ٌ Debug‬عی‪ Start Without Debuging ٝٙ‬ضا ا٘شربة وطز یب اظ زوٕ‪ٞ ٝ‬بی سطویجی‪ Crl + F5‬اؾشفبز‪ٜ‬‬
‫ٕ٘‪ٛ‬ز‪:‬‬

‫!‪Welcome to Visual C# Tutorials‬‬


‫‪Press any key to continue . . .‬‬

‫ث‪ ٝ‬ایٗ ٘ىش‪ ٝ‬س‪ٛ‬خ‪ ٝ‬و‪ٙ‬یس و‪ ٝ‬دیغبْ …‪ Press any key to continue‬خع ذط‪ٚ‬خی ث‪ ٝ‬حؿبة ٕ٘ی آیس ‪ ٚ‬فمظ ٘كبٖ ز‪ٙٞ‬س‪ ٜ‬آٖ‬
‫اؾز و‪ ٝ‬ثط٘بٔ‪ ٝ‬زض حبِز ‪ Non-Debug‬اخطا قس‪ ٜ‬اؾز ‪ ٚ‬قٕب ٔی س‪ٛ‬ا٘یس ثب ظزٖ یه وّیس اظ ثط٘بٔ‪ ٝ‬ذبضج ق‪ٛ‬یس‪ .‬زؾشطؾی ث‪ٝ‬‬
‫حبِز ‪ Debug Mode‬آؾبٖ سط اؾز ‪ ٚ‬ث‪ ٝ‬ن‪ٛ‬ضر دیكفطو ثط٘بٔ‪ٞ ٝ‬ب زض ایٗ حبِز اخطا ٔی ق‪٘ٛ‬س‪ .‬اظ ایٗ حبِز ثطای ضفـ ذغب‪ٞ‬ب‬
‫‪break points‬‬
‫‪ ٚ‬اقىبَ ظزایی ثط٘بٔ‪ٞ ٝ‬ب اؾشفبز‪ٔ ٜ‬ی ق‪ٛ‬ز و‪ ٝ‬زض زضؾ‪ٟ‬بی آی‪ٙ‬س‪ ٜ‬س‪ٛ‬ضیح ذ‪ٛ‬ا‪ٞ‬یٓ زاز‪ .‬قٕب ‪ٕٞ‬چ‪ٙ‬یٗ ٔی س‪ٛ‬ا٘یس اظ‬
‫‪ ٚ‬لؿٕز ‪ Help‬ثط٘بٔ‪ ٝ‬زض ٔ‪ٛ‬القی و‪ ٝ‬ثب ذغب ٔ‪ٛ‬اخ‪ٔ ٝ‬ی ق‪ٛ‬یس اؾشفبز‪ ٜ‬و‪ٙ‬یس‪ .‬ثطای اخطای ثط٘بٔ‪ ٝ‬ثب حبِز ‪ٔ Debug Mode‬ی‬
‫س‪ٛ‬ا٘یس اظ ٔ‪ٛٙ‬ی ‪ٌ Debug‬عی‪ Start Debugging ٝٙ‬ضا ا٘شربة وطز‪ ٚ ٜ‬یب زوٕ‪ F5 ٝ‬ضا فكبض ز‪ٞ‬یس‪ٕٞ .‬چ‪ٙ‬یٗ ٔی س‪ٛ‬ا٘یس ثط ض‪ٚ‬ی‬
‫زض ‪ toolbar‬وّیّه و‪ٙ‬یس‪ .‬اٌط اظ حبِز ‪ Debug Mode‬اؾشفبز‪ ٜ‬و‪ٙ‬یس ثط٘بٔ‪ٕ٘ ٝ‬بیف زاز‪ ٜ‬قس‪ ٚ ٜ‬ف‪ٛ‬ضا ٘بدسیس‬ ‫قىُ‬
‫)(‪ System.Console.ReadKey‬ثطای س‪ٛ‬لف ثط٘بٔ‪ٚ ٝ‬‬ ‫ٔی ق‪ٛ‬ز‪ .‬ثطای خّ‪ٌٛ‬یطی اظ ایٗ اسفبق قٕب ٔی س‪ٛ‬ا٘یس اظ والؼ ‪ٔ ٚ‬شس‬
‫ٌطفشٗ ‪ٚ‬ض‪ٚ‬زی اظ وبضثط خ‪ٟ‬ز ذط‪ٚ‬ج اظ ثط٘بٔ‪ ٝ‬اؾشفبز‪ ٜ‬و‪ٙ‬یس‪ ( .‬زضثبض‪ٔ ٜ‬شس‪ٞ‬ب زض زضؾ‪ٟ‬بی آی‪ٙ‬س‪ ٜ‬س‪ٛ‬ضیح ذ‪ٛ‬ا‪ٞ‬یٓ ‪).‬زاز‬

‫‪namespace MyFirstProgram‬‬
‫{‬
‫‪class Program‬‬
‫{‬
‫)(‪static void Main‬‬
‫{‬
‫;)"!‪System.Console.WriteLine("Welcome to Visual C# Tutorials‬‬
‫;)(‪System.Console.ReadKey‬‬
‫}‬
‫}‬
‫}‬

‫حبَ ثط٘بٔ‪ ٝ‬ضا زض حبِز ‪ Debug Mode‬اخطا ٔی و‪ٙ‬یٓ‪ٔ .‬كب‪ٞ‬س‪ٔ ٜ‬ی و‪ٙ‬یس و‪ ٝ‬ثط٘بٔ‪ٔ ٝ‬ش‪ٛ‬لف قس‪ ٚ ٜ‬اظ قٕب زض ذ‪ٛ‬اؾز ‪ٚ‬ض‪ٚ‬زی ٔی‬
‫و‪ٙ‬س‪ ،‬ث‪ ٝ‬ؾبزٌی ‪ ٚ‬ثب ظزٖ زوٕ‪ Enter ٝ‬اظ ثط٘بٔ‪ ٝ‬ذبضج ق‪ٛ‬یس‪ ٗٔ .‬اظ حبِز ‪ Non-Debug‬ث‪ ٝ‬ایٗ فّز اؾشفبز‪ ٜ‬وطزْ سب ٘یبظی ث‪ٝ‬‬
‫٘‪ٛ‬قشٗ وس اضبفی )(‪٘ Console.ReadKey‬جبقس‪ .‬اظ ایٗ ث‪ ٝ‬ثقس ‪ٞ‬ط خب شوط قس و‪ ٝ‬ثط٘بٔ‪ ٝ‬ضا اخطا و‪ٙ‬یس ثط٘بٔ‪ ٝ‬ضا زض حبِز ‪Non-‬‬
‫‪ Debug‬اخطا و‪ٙ‬یس‪ٚ .‬لشی ث‪ٔ ٝ‬جحث اؾشث‪ٙ‬بء‪ٞ‬ب ضؾیسیٓ اظ حبِز‪ Debug‬اؾشفبز‪ٔ ٜ‬ی و‪ٙ‬یٓ‪ .‬حبَ ثب ذه‪ٛ‬نیبر ‪ ٚ‬ؾبذشبض ا‪ِٚ‬ی‪ ٝ‬ؾی‬
‫قبضح آق‪ٙ‬ب قسیس زض زضؾ‪ٟ‬بی آی‪ٙ‬س‪ٔ ٜ‬غبِت ثیكشطی اظ ایٗ ظثبٖ ثط٘بٔ‪ٛ٘ ٝ‬یؿی لسضسٕ‪ٙ‬س ذ‪ٛ‬ا‪ٞ‬یس آٔ‪ٛ‬ذز‪.‬‬

‫‪45‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫اػسفادُ اص ‪IntelliSense‬‬

‫قبیس یىی اظ ‪ٚ‬یػٌی‪ٟ‬بی ٔ‪ ، Visual Studio ٟٓ‬ای‪ٙ‬شُ الیؿ‪ٙ‬ؽ (‪ )IntelliSense‬ثبقس‪ٔ IntelliSense.‬ب ضا لبزض ٔی ؾبظز و‪ ٝ‬ث‪ٝ‬‬
‫ؾطفز ث‪ ٝ‬والؾ‪ٟ‬ب ‪ٔ ٚ‬شس‪ٞ‬ب ‪....ٚ‬زؾشطؾی دیسا و‪ٙ‬یٓ‪ٚ .‬لشی و‪ ٝ‬قٕب زض ٔحیظ وس٘‪ٛ‬یؿی حطفی ضا سبیخ و‪ٙ‬یس‪ IntelliSense ،‬ف‪ٛ‬ضا‬
‫فقبَ ٔی ق‪ٛ‬ز‪ .‬وس ظیطا ضا زض زاذُ ٔشس‪ Main‬ث‪ٛٙ‬یؿیس‪.‬‬

‫;)”!‪System.Console.WriteLine(“Welcome to Visual C# Tutorials‬‬

‫ا‪ِٚ‬یٗ حطف ضا سبیخ و‪ٙ‬یس سب ‪ IntelliSense‬فقبَ ق‪ٛ‬ز‪.‬‬

‫‪ِ IntelliSense‬یؿشی اظ وّٕبر ث‪ ٝ‬قٕب دیك‪ٟٙ‬بز ٔی ز‪ٞ‬س و‪ ٝ‬ثیكشطیٗ سكبث‪ ٝ‬ضا ثب ٘‪ٛ‬قش‪ ٝ‬قٕب زاض٘س‪ .‬قٕب ٔی س‪ٛ‬ا٘یس ثب ظزٖ زوٕ‪ٝ‬‬
‫‪.‬‬
‫ق‪ٛ‬یس‬ ‫‪ٌ tab‬عی‪ٛٔ ٝٙ‬ضز ٘ؾطسبٖ ضا ا٘شربة و‪ٙ‬یس‪ .‬ثب سبیخ ٘مغ‪ ( . )ٝ‬قٕب ثب ِیؿز دیك‪ٟٙ‬بزی زیٍطی ٔ‪ٛ‬اخ‪ٔ ٝ‬ی‬

‫اٌط ثط ض‪ٚ‬ی ٌعی‪ ٝٙ‬ای و‪ٔ ٝ‬ی ذ‪ٛ‬ا‪ٞ‬یس ا٘شربة و‪ٙ‬یس ِحؾ‪ ٝ‬ای ٔىث و‪ٙ‬یس س‪ٛ‬ضیحی زض ضاثغ‪ ٝ‬ثب آٖ ٔكب‪ٞ‬س‪ ٜ‬ذ‪ٛ‬ا‪ٞ‬یس وطز ٔب٘‪ٙ‬س قىُ‬
‫ثبال‪ٞ .‬ط چ‪ ٝ‬و‪ ٝ‬ث‪ ٝ‬دبیبٖ وس ٘عزیه ٔی ق‪ٛ‬یس ِیؿز دیك‪ٟٙ‬بزی ٔحس‪ٚ‬ز سط ٔی ق‪ٛ‬ز‪.‬ثطای ٔثبَ ثب سبیخ حطف ‪IntelliSense ،W‬‬
‫فمظ وّٕبسی ضا و‪ ٝ‬زاضای حطف‪ٞ W‬ؿش‪ٙ‬س ضا ٕ٘بیف ٔی ‪.‬‬
‫ز‪ٞ‬س‬

‫‪46‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫ثب سبیخ حطف ‪ٞ‬بی ثیكشط ِیؿز ٔحس‪ٚ‬زسط قس‪ ٚ ٜ‬فمظ ز‪ ٚ‬وّٕ‪ ٝ‬ضا ٘كبٖ ٔی ‪.‬‬
‫ز‪ٞ‬س‬

‫ثطای ؽب‪ٞ‬ط وطزٖ‬ ‫اٌط ‪٘ IntelliSense‬ش‪ٛ‬ا٘س چیعی ضا و‪ ٝ‬قٕب سبیخ وطز‪ ٜ‬ایس دیسا و‪ٙ‬س ‪ٞ‬یچ چیعی ضا ٕ٘بیف ٕ٘ی ز‪ٞ‬س‪.‬‬
‫‪ IntelliSense‬وبفیؿز زوٕ‪ ٝ‬سطویجی ‪ Ctrl+Space‬ضا فكبض ز‪ٞ‬یس‪ .‬ثطای ا٘شربة یىی اظ ٔشس‪ٞ‬بیی و‪ ٝ‬زاضای چ‪ٙ‬س حبِز‬
‫)(‪ٕٞ Writeline‬ب٘غ‪ٛ‬ض‬
‫‪ٞ‬ؿش‪ٙ‬س‪ٔ ،‬ی س‪ٛ‬اٖ ثب اؾشفبز‪ ٜ‬اظ زوٕ‪ٞ ٝ‬بی ٔىبٖ ٕ٘ب (ثبال ‪ ٚ‬دبییٗ) یىی اظ حبِز ‪ٞ‬ب ضا ا٘شربة وطز‪ٔ .‬ثال ٔشس‬
‫و‪ ٝ‬زض قىُ ظیط ٔكب‪ٞ‬س‪ٔ ٜ‬ی و‪ٙ‬یس زاضای‪ 19‬حبِز ٕ٘بیف دیغبْ زض نفح‪. ٝ‬‬
‫اؾز‬

‫‪ IntelliSense‬ث‪ ٝ‬ع‪ٛ‬ض ‪ٛٞ‬قٕ‪ٙ‬س وس‪ٞ‬بیی ضا ث‪ ٝ‬قٕب دیك‪ٟٙ‬بز ٔی ز‪ٞ‬س ‪ ٚ‬زض ٘شید‪ ٝ‬ظٔبٖ ٘‪ٛ‬قشٗ وس ضا وب‪ٞ‬ف ٔی ‪.‬‬
‫ز‪ٞ‬س‬

‫سفغ خطاّا‬
‫ثیكشط ا‪ٚ‬لبر ‪ٍٙٞ‬بْ ثط٘بٔ‪ٛ٘ ٝ‬یؿی ثب ذغب ٔ‪ٛ‬اخ‪ٔ ٝ‬ی ق‪ٛ‬یٓ‪ .‬سمطیجب ‪ ٕٝٞ‬ثط٘بٔ‪ٞ ٝ‬بیی و‪ ٝ‬أط‪ٚ‬ظ‪ٔ ٜ‬ی ثی‪ٙ‬یس ‪ ،‬حسالُ اظ زاقشٗ یه‬
‫ذغب ض٘ح ٔی ثط٘س‪ .‬ذغب ‪ٞ‬ب ٔی س‪ٛ‬ا٘‪ٙ‬س ثط٘بٔ‪ ٝ‬قٕب ضا ثب ٔكىُ ٔ‪ٛ‬اخ‪ ٝ‬و‪ٙٙ‬س ‪ .‬زض ؾی قبضح ؾ‪ٛ٘ ٝ‬ؿ ذغب ‪ٚ‬خ‪ٛ‬ز ‪:‬‬
‫زاضز‬

‫‪47‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫ذغبی وبٔذبیّطی‬

‫ایٗ ٘‪ٛ‬ؿ ذغب اظ اخطای ثط٘بٔ‪ ٝ‬قٕب خّ‪ٌٛ‬یطی ٔی و‪ٙ‬س‪ .‬ایٗ ذغب ‪ٞ‬ب قبُٔ ذغبی زؾش‪ٛ‬ض ظثبٖ ٔی ثبقس‪.‬ایٗ ثسیٗ ٔق‪ٙ‬ی اؾز و‪ ٝ‬قٕب‬
‫ل‪ٛ‬افس وس ٘‪ٛ‬یؿی ضا ضفبیز ٘ىطز‪ ٜ‬ایس‪ .‬یىی زیٍط اظ ٔ‪ٛ‬اضز ‪ٚ‬ل‪ٛ‬ؿ ایٗ ذغب ‪ٍٙٞ‬بٔی اؾز و‪ ٝ‬قٕب اظ چیعی اؾشفبز‪ٔ ٜ‬ی و‪ٙ‬یس و‪ٝ٘ ٝ‬‬
‫‪ٚ‬خ‪ٛ‬ز زاضز ‪ ٝ٘ ٚ‬ؾبذش‪ ٝ‬قس‪ ٜ‬اؾز‪ .‬حصف فبیّ‪ٟ‬ب یب اعالفبر ٘بلم زض ٔ‪ٛ‬ضز دط‪ٚ‬غ‪ٕٔ ٜ‬ىٗ اؾز ثبفث ث‪ٚ ٝ‬خ‪ٛ‬ز آٔسٖ ذغبی‬
‫وبٔذبیّطی ق‪ٛ‬ز‪ .‬اؾشفبز‪ ٜ‬اظ ثط٘بٔ‪ ٝ‬ث‪ٛ‬ؾیّ‪ ٝ‬ثط٘بٔ‪ ٝ‬زیٍط ٘یع ٕٔىٗ اؾز ثبفث خّ‪ٌٛ‬یطی اظ اخطای ثط٘بٔ‪ ٚ ٝ‬ایدبز ذغبی وبٔذبیّطی‬
‫ق‪ٛ‬ز‪.‬‬

‫ذغب‪ٞ‬بی ٔ‪ٙ‬غمی‬

‫ایٗ ٘‪ٛ‬ؿ ذغب زض اثط سغییط زض یه ٔ‪ٙ‬غك ٔ‪ٛ‬خ‪ٛ‬ز زض ثط٘بٔ‪ ٝ‬ث‪ٚ ٝ‬خ‪ٛ‬ز ٔی آیس‪ .‬ضفـ ایٗ ٘‪ٛ‬ؿ ذغب‪ٞ‬ب ثؿیبض ؾرز اؾز چ‪ ٖٛ‬قٕب ثطای‬
‫یبفشٗ آ٘‪ٟ‬ب ثبیس وس ضا سؿز و‪ٙ‬یس‪ ٕٝ٘ٛ٘ .‬ای اظ یه ذغبی ٔ‪ٙ‬غمی ثط٘بٔ‪ ٝ‬ای اؾز و‪ ٝ‬ز‪ ٚ‬فسز ضا خٕـ ٔی و‪ٙ‬س ‪ِٚ‬ی حبنُ سفطیك ز‪ٚ‬‬
‫‪.‬‬ ‫فسز ضا ٘كبٖ ٔی ز‪ٞ‬س‪ .‬زض ایٗ حبِز ٕٔىٗ ار ثط٘بٔ‪ٛ٘ ٝ‬یؽ فالٔز ضیبضی ضا اقشجب‪ ٜ‬سبیخ وطز‪ ٜ‬ثبقس‬

‫اؾشث‪ٙ‬بء‬

‫ایٗ ٘‪ٛ‬ؿ ذغب‪ٞ‬ب ‪ٍٙٞ‬بٔی ضخ ٔی ز‪ٙٞ‬س و‪ ٝ‬ثط٘بٔ‪ ٝ‬زض حبَ اخطاؾز‪ .‬ایٗ ذغب ‪ٍٙٞ‬بٔی ض‪ٚ‬ی ٔی ز‪ٞ‬س و‪ ٝ‬وبضثط یه ‪ٚ‬ض‪ٚ‬زی ٘بٔقشجط ث‪ٝ‬‬
‫ثط٘بٔ‪ ٝ‬ثس‪ٞ‬س ‪ ٚ‬ثط٘بٔ‪٘ ٝ‬ش‪ٛ‬ا٘س آٖ ضا دطزاظـ و‪ٙ‬س‪ٚ .‬یػ‪ٚ‬اَ اؾش‪ٛ‬زی‪ٚ ٚ ٛ‬یػ‪ٚ‬اَ ؾی قبضح زاضای اثعاض‪ٞ‬بیی ثطای دیسا وطزٖ ‪ ٚ‬ثطعطف‬
‫وطزٖ ذغب‪ٞ‬ب ‪ٞ‬ؿش‪ٙ‬س‪ٚ .‬لشی زض ٔحیظ وس٘‪ٛ‬یؿی زض حبَ سبیخ وس ‪ٞ‬ؿشیٓ یىی اظ ‪ٚ‬یػٌی‪ٟ‬بی ‪ٚ‬یػ‪ٚ‬اَ اؾش‪ٛ‬زی‪ ٛ‬سكریم ذغب‪ٞ‬بی‬
‫ٕٔىٗ لجُ اظ اخطای ثط٘بٔ‪ ٝ‬اؾز‪ .‬ظیط وس‪ٞ‬بیی و‪ ٝ‬زاضای ذغبی وبٔذبیّطی ‪ٞ‬ؿش‪ٙ‬س ذظ لطٔع وكیس‪ٔ ٜ‬ی ‪.‬‬
‫ق‪ٛ‬ز‬

‫‪48‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫‪ٍٙٞ‬بٔی و‪ ٝ‬قٕب ثب اْ‪ٚ‬ؼ ض‪ٚ‬ی ایٗ ذغ‪ٛ‬ط س‪ٛ‬لف و‪ٙ‬یس‪ ،‬س‪ٛ‬ضیحبر ذغب ضا ٔكب‪ٞ‬س‪ٔ ٜ‬یو‪ٙ‬یس‪ .‬قٕب ٕٔىٗ اؾز ثب ذظ ؾجع ‪ٛٔ ٓٞ‬اخ‪ٝ‬‬
‫اؾز ‪ِٚ‬ی ث‪ ٝ‬قٕب اخبظ‪ ٜ‬اخطای ثط٘بٔ‪ ٝ‬ضا ٔی ز‪ٙٞ‬س‪ .‬ث‪ ٝ‬ف‪ٛٙ‬اٖ ٔثبَ ٕٔىٗ اؾز قٕب یه ٔشغیط‬
‫‪،‬‬ ‫ق‪ٛ‬یس و‪٘ ٝ‬كبٖ ز‪ٙٞ‬س‪ ٜ‬اذغبض زض وس‬
‫ضا سقطیف و‪ٙ‬یس ‪ِٚ‬ی زض ع‪ َٛ‬ثط٘بٔ‪ ٝ‬اظ آٖ اؾشفبز‪٘ ٜ‬ى‪ٙ‬یس‪ ( .‬زض زضؼ ‪ٞ‬بی آی‪ٙ‬س‪ ٜ‬س‪ٛ‬ضیح ذ‪ٛ‬ا‪ٞ‬یٓ )‪.‬‬
‫زاز‬

‫زض ثبض‪ ٜ‬ضفـ ذغب‪ٞ‬ب زض آی‪ٙ‬س‪ ٜ‬س‪ٛ‬ضیح ثیكشطی ٔی ز‪ٞ‬یٓ‪ِ ( ErrorList .‬یؿز ذغب‪ٞ‬ب) و‪ ٝ‬زض قىُ ظیط ثب فّف لطٔع ٘كبٖ زاز‪ٜ‬‬
‫قس‪ ٜ‬اؾز ث‪ ٝ‬قٕب أىبٖ ٔكب‪ٞ‬س‪ ٜ‬ذغب‪ٞ‬ب ‪ٞ ،‬كساض‪ٞ‬ب ‪ ٚ‬ضفـ آ٘‪ٟ‬ب ضا ٔی ز‪ٞ‬س ‪ .‬ثطای ثبظ وطزٖ ‪ٔ Error List‬ی س‪ٛ‬ا٘یس ث‪ٔ ٝ‬ؿیط‬
‫‪ View> Error List‬ثط‪ٚ‬یس‪.‬‬

‫‪49‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫‪ٕٞ‬ب٘غ‪ٛ‬ض و‪ ٝ‬زض قىُ ظیط ٔكب‪ٞ‬س‪ٔ ٜ‬ی و‪ٙ‬یس ‪ٞ‬طٌب‪ ٜ‬ثط٘بٔ‪ ٝ‬قٕب ثب ذغب ٔ‪ٛ‬اخ‪ ٝ‬ق‪ٛ‬ز ِیؿز ذغب‪ٞ‬ب زض‪ٕ٘ Error List‬بیف زاز‪ٔ ٜ‬ی‬
‫ق‪ٛ‬ز‪.‬‬

‫زض قىُ ثبال سقسازی ذغب ‪ٕٞ‬طا‪ ٜ‬ثب ضا‪ ٜ‬حُ ضفـ آ٘‪ٟ‬ب زض‪ٕ٘ Error List‬بیف زاز‪ ٜ‬قس‪ ٜ‬اؾز ‪ . Error List‬زاضای چ‪ٙ‬سیٗ ؾش‪ٖٛ‬‬
‫اؾز و‪ ٝ‬ث‪ ٝ‬ع‪ٛ‬ض وبُٔ خعییبر ذغب‪ٞ‬ب ضا ٕ٘بیف ٔی ‪.‬‬
‫ز‪ٙٞ‬س‬

‫‪50‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫ؾش‪ٖٛ‬‬ ‫س‪ٛ‬ضیحبر‬
‫‪Description‬‬ ‫س‪ٛ‬ضیحی زضثبض‪ ٜ‬ذغب‬
‫فبیّی و‪ ٝ‬ذغب زض آٖ اسفبق افشبز‪ ٜ‬اؾز ‪File‬‬
‫قٕبض‪ ٜ‬ذغی اظ فبیُ و‪ ٝ‬زاضای ذغبؾز ‪Line‬‬
‫ؾش‪ ٖٛ‬یب ٔ‪ٛ‬لقیز افمی ذغب زض زاذُ ذظ‪Column‬‬
‫‪Project‬‬ ‫٘بْ دط‪ٚ‬غ‪ ٜ‬ای و‪ ٝ‬زاضای ذغبؾز‪.‬‬

‫اٌط ثط٘بٔ‪ ٝ‬قٕب زاضای ذغب ثبقس ‪ ٚ‬آٖ ضا اخطا و‪ٙ‬یس ثب د‪ٙ‬دط‪ ٜ‬ظیط ض‪ٚ‬ثط‪ٔ ٚ‬ی ‪:‬‬
‫ق‪ٛ‬یس‬

‫ق‪ٛ‬ز زیٍط ایٗ د‪ٙ‬دط‪ ٜ‬ث‪ ٝ‬ف‪ٛٙ‬اٖ ‪ٞ‬كساض‬


‫ٔطثـ و‪ٛ‬چه زاذُ د‪ٙ‬دط‪ ٜ‬ثبال ضا سیهةظ٘یس چ‪ ٖٛ‬زفقبر ثقس و‪ ٝ‬ثط٘بٔ‪ ٝ‬قٕب ثب ذغب ٔ‪ٛ‬اخ‪، ٝ‬‬
‫٘كبٖ زاز‪٘ ٜ‬ر‪ٛ‬ا‪ٞ‬س قس‪ .‬ثب وّیه ثط ض‪ ٚ‬ی زوٕ‪ Yes ٝ‬ثط٘بٔ‪ ٝ‬ثب ‪ٚ‬خ‪ٛ‬ز ذغب ٘یع اخطا ٔی ق‪ٛ‬ز‪.‬أب ثب وّیه ثط ض‪ٚ‬ی زوٕ‪ NOٝ‬اخطای‬
‫ثط٘بٔ‪ٔ ٝ‬ش‪ٛ‬لف ٔی ق‪ٛ‬ز ‪ ٚ‬قٕب ثبیس ذغب‪ٞ‬بی ٔ‪ٛ‬خ‪ٛ‬ز زض د‪ٙ‬دط‪ Error Listٜ‬ضا ثط عطف ٕ٘بییس‪ .‬یىی زیٍط اظ ‪ٚ‬یػٌی‪ٟ‬بی ٔ‪ ٟٓ‬د‪ٙ‬دط‪ٜ‬‬
‫‪٘ Error List‬كبٖ زازٖ لؿٕشی اظ ثط٘بٔ‪ ٝ‬اؾز و‪ ٝ‬زاضای ذغبؾز‪ .‬ثب یه وّیه ؾبز‪ ٜ‬ثط ض‪ٚ‬ی ‪ٞ‬ط وساْ ذغب‪ٞ‬بی ٔ‪ٛ‬خ‪ٛ‬ز زض‬
‫د‪ٙ‬دط‪ٔ ، Error List ٜ‬حُ ‪ٚ‬ل‪ٛ‬ؿ ذغب ٕ٘بیف زاز‪ٔ ٜ‬ی ‪.‬‬
‫ق‪ٛ‬ز‬

‫خطایاتی ٍ تشطشف وشدى آى‬


‫زض خس‪ َٚ‬ظیط ِیؿز ذغب‪ٞ‬بی ٔقٕ‪ َٛ‬زض د‪ٙ‬دط‪٘ ٚ Error List ٜ‬ح‪ ٜٛ‬ثطعطف وطزٖ آ٘‪ٟ‬ب آٔس‪ ٜ‬اؾز ‪ :‬وّٕ‪، Sample ٝ‬خب٘كیٗ‬
‫٘بٔ‪ٟ‬بی ‪ٚ‬اثؿش‪ ٝ‬ث‪ ٝ‬ذغب‪ٞ‬بیی اؾز و‪ ٝ‬قٕب ثب آ٘‪ٟ‬ب ٔ‪ٛ‬اخ‪ٔ ٝ‬ی ق‪ٛ‬یس ‪ ٚ‬زض وُ یه وّٕ‪ ٝ‬اذشیبضی اؾز‪:‬‬

‫خطا‬ ‫زَضیح‬ ‫ساُ حل‬

‫زض دبیبٖ زؾش‪ٛ‬ض فالٔز ؾیٕیىبٖ (;) لطاض ٘ساز‪ٜ‬‬ ‫اضبف‪ ٝ‬وطزٖ یه‬
‫‪; expected‬‬
‫ایس‬ ‫ؾیٕیىبِٗ (;)‬

‫‪51‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫خطا‬ ‫زَضیح‬ ‫ساُ حل‬

‫وّٕ‪ sample ٝ‬ضا حصف وّٕ‪ sample ٝ‬زض وس قٕب ٘‪ ٝ‬سقطیف قس‪The name „sample‟ does not exist in the ٝ٘ ٚ ٜ‬‬
‫‪current context.‬‬ ‫‪ٚ‬خ‪ٛ‬ز زاضز‬ ‫یب سقطیف و‪ٙ‬یس‪.‬‬
‫‪Only assignment, call, increment,‬‬
‫‪decrement, and new object expressions‬‬ ‫وس خع زؾش‪ٛ‬ضار ؾی قبضح ٘یؿز‬ ‫زؾش‪ٛ‬ض ضا حصف و‪ٙ‬یس‬
‫‪can be used as a statement.‬‬
‫لجُ اظ اؾشفبز‪ ٜ‬اظ ٔشغیط‬
‫‟‪Use of unassigned local variable „sample‬‬ ‫ٔشغیط ‪ٔ sample‬مساض ز‪ٞ‬ی ا‪ِٚ‬ی‪٘ ٝ‬كس‪ٜ‬‬ ‫آٖ ضا ٔمساض ز‪ٞ‬ی ا‪ِٚ‬ی‪ٝ‬‬
‫و‪ٙ‬یس‬
‫ثبیس یه والؼ یب فضبی‬
‫‟‪The type or namespace name „sample‬‬ ‫‪sample‬‬ ‫٘بْ ‪،‬ث‪٘ ٝ‬بْ‬
‫٘‪ٛ‬ؿ یب فضبی ٘بْ ٔشغیط ‪ sample‬سقطیف ٘كس‪could not be found (are you missing a ٜ‬‬
‫‪using directive or an assembly‬‬ ‫اؾز‬ ‫ایدبز و‪ٙ‬یس‬
‫)?‪reference‬‬

‫)(‪ MyMethod‬و‪ ٝ‬ث‪ٝ‬‬ ‫ثسیٗ ٔق‪ٙ‬بر و‪ٔ ٝ‬شس‬


‫ٔغٕئٗ ق‪ٛ‬یس و‪ٔ ٝ‬شس زض‬
‫‪ ٕٝٞ‬لؿٕش‪ٟ‬بی وس زاضای ف‪ٛٙ‬اٖ ٔشسی ثب ٔمساض ثطٌكشی زض ٘ؾط ٌطفش‪„MyMethod()‟: not all code paths return ٝ‬‬
‫قس‪ ٜ‬زض ‪ ٕٝٞ‬لؿٕش‪ٟ‬بی وس زاضای ٔمساض ثطٌكشی‪a value‬‬
‫ٔمساض ثطٌكشی اؾز‬
‫٘یؿز‪.‬‬
‫ثب اؾشفبز‪ ٜ‬اظ ٔشس‪ٞ‬بی‬
‫ٔشغیط ‪ٕ٘ type2‬ی س‪ٛ‬ا٘س ث‪ٔ ٝ‬شغیط ‪ type1‬سجسیُ ‪Cannot implicitly convert type „type1′ to‬‬ ‫سجسیُ ا٘‪ٛ‬اؿ ث‪، ٓٞ ٝ‬ز‪ٚ‬‬
‫‪„type2′‬‬ ‫ق‪ٛ‬ز‪.‬‬
‫ٔشغیط ضا یىؿبٖ و‪ٙ‬یس‪.‬‬

‫ٍ٘طاٖ یبزٌیطی وّٕبر ث‪ ٝ‬وبض ضفش‪ ٝ‬زض خس‪ َٚ‬ثبال ٘جبقیس چ‪ ٖٛ‬س‪ٛ‬ضیح آ٘‪ٟ‬ب زض زضؾ‪ٟ‬بی آی‪ٙ‬س‪ ٜ‬آٔس‪ ٜ‬اؾز‪.‬‬

‫زَضیحاذ‬

‫‪ٚ‬لشی و‪ ٝ‬وسی سبیخ ٔی و‪ٙ‬یس قبیس ثر‪ٛ‬ا‪ٞ‬یس و‪ٔ ٝ‬ش‪ٙ‬ی خ‪ٟ‬ز یبزآ‪ٚ‬ضی ‪ٚ‬ؽیف‪ ٝ‬آٖ وس ث‪ ٝ‬آٖ اضبف‪ ٝ‬و‪ٙ‬یس‪ .‬زض ؾی قبضح (‪ ٚ‬ثیكشط‬
‫ظثب٘‪ٟ‬بی ثط٘بٔ‪ٛ٘ ٝ‬یؿی) ٔی س‪ٛ‬اٖ ایٗ وبض ضا ثب اؾشفبز‪ ٜ‬اظ س‪ٛ‬ضیحبر ا٘دبْ زاز‪ .‬س‪ٛ‬ضیحبر ٔش‪٘ٛ‬ی ‪ٞ‬ؿش‪ٙ‬س و‪ ٝ‬س‪ٛ‬ؾظ وبٔذبیّط ٘بزیس‪ٜ‬‬
‫ٌطف‪ٔ ٝ‬ی ق‪٘ٛ‬س ‪ ٚ‬ث‪ ٝ‬ف‪ٛٙ‬اٖ ثركی اظ وس ٔحؿ‪ٛ‬ة ٕ٘ی ق‪٘ٛ‬س‪ٞ .‬سف انّی اظ ایدبز س‪ٛ‬ضیحبر ذ‪ٛ‬ا٘بیی ‪ ٚ‬سكریم ٘مف وس‪ٞ‬بی‬
‫٘‪ٛ‬قش‪ ٝ‬قس‪ ٜ‬س‪ٛ‬ؾظ قٕب ‪ ،‬ثطای زیٍطاٖ اؾز‪ .‬فطو و‪ٙ‬یس و‪ٔ ٝ‬ی ذ‪ٛ‬ا‪ٞ‬یس زض ٔ‪ٛ‬ضز یه وس ذبل‪ ،‬س‪ٛ‬ضیح ثس‪ٞ‬یس‪ٔ ،‬ی س‪ٛ‬ا٘یس‬
‫س‪ٛ‬ضیحبر ضا زض ثبالی وس یب و‪ٙ‬بض آٖ ث‪ٛٙ‬یؿیس‪.‬‬

‫‪52‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫اظ س‪ٛ‬ضیحبر ثطای ٔؿش‪ٙ‬س ؾبظی ثط٘بٔ‪ ٓٞ ٝ‬اؾشفبز‪ٔ ٜ‬ی ق‪ٛ‬ز‪ .‬زض ثط٘بٔ‪ ٝ‬ظیط ٘مف س‪ٛ‬ضیحبر ٘كبٖ زاز‪ ٜ‬قس‪ ٜ‬اؾز ‪:‬‬

‫‪1‬‬ ‫‪namespace CommentsDemo‬‬


‫‪2‬‬ ‫{‬
‫‪3‬‬ ‫‪class Program‬‬
‫‪4‬‬ ‫{‬
‫‪5‬‬ ‫)‪public static void Main(string[] args‬‬
‫‪6‬‬ ‫{‬
‫‪7‬‬ ‫‪// This line will print the message hello world‬‬
‫‪8‬‬ ‫;)"!‪System.Console.WriteLine("Hello World‬‬
‫‪9‬‬ ‫}‬
‫‪10‬‬ ‫}‬
‫‪11‬‬ ‫}‬

‫زض ذظ ‪ 7‬یه س‪ٛ‬ضیح ؾبز‪( ٜ‬سه ذغی) ٘كبٖ زاز‪ ٜ‬قس‪ ٜ‬اؾز‪ .‬س‪ٛ‬ضحبر ثط ز‪ٛ٘ ٚ‬ف‪ٙ‬س‪ ،‬س‪ٛ‬ضیحبر سه ذغی ‪ ٚ‬س‪ٛ‬ضیحبر چ‪ٙ‬س‬
‫ذغی ‪:‬‬

‫‪// single line comment‬‬

‫‪/* multi‬‬
‫‪line‬‬
‫‪comment */‬‬

‫س‪ٛ‬ضیحبر سه ذغی ‪ٕٞ‬بٍ٘‪ ٝ٘ٛ‬و‪ ٝ‬اظ ٘بٔف دیساؾز ثطای س‪ٛ‬ضیحبسی زض حس یه ذظ ث‪ ٝ‬وبض ٔی ض‪٘ٚ‬س‪ .‬ایٗ س‪ٛ‬ضیحبر ثب فالٔز ‪//‬‬
‫قط‪ٚ‬ؿ ٔی ق‪٘ٛ‬س ‪ٞ ٚ‬ط ٘‪ٛ‬قش‪ ٝ‬ای و‪ ٝ‬زض ؾٕز ضاؾز آٖ لطاض ثٍیطز خع س‪ٛ‬ضیحبر ث‪ ٝ‬حؿبة ٔی آیس‪ .‬ایٗ ٘‪ٛ‬ؿ س‪ٛ‬ضیحبر ٔقٕ‪ٛ‬ال زض‬
‫ثبال یب و‪ٙ‬بض وس لطاض ٔی ٌیط٘س‪ .‬اٌط س‪ٛ‬ضیح زض ثبض‪ ٜ‬یه وس ث‪ ٝ‬ثیف اظ یه ذظ ٘یبظ ثبقس اظ س‪ٛ‬ضیحبر چ‪ٙ‬س ذغی اؾشفبز‪ٔ ٜ‬ی ق‪ٛ‬ز‪.‬‬
‫س‪ٛ‬ضیحبر چ‪ٙ‬س ذغی ثب *‪ /‬قط‪ٚ‬ؿ ‪ ٚ‬ثب ‪ */‬دبیبٖ ٔی یبث‪ٙ‬س‪ٞ .‬ط ٘‪ٛ‬قش‪ ٝ‬ای و‪ ٝ‬ثیٗ ایٗ ز‪ ٚ‬فالٔز لطاض ثٍیطز خع س‪ٛ‬ضیحبر ٔحؿ‪ٛ‬ة‬
‫ٔی ق‪ٛ‬ز‪ٛ٘ .‬ؿ زیٍطی اظ س‪ٛ‬ضیحبر ‪ ،‬س‪ٛ‬ضیحبر ‪٘ XML‬بٔیس‪ٔ ٜ‬ی ق‪٘ٛ‬س‪ .‬ایٗ ٘‪ٛ‬ؿ ثب ؾ‪ ٝ‬اؾّف (‪٘ )///‬كبٖ زاز‪ٔ ٜ‬ی ق‪٘ٛ‬س‪ .‬اظ ایٗ‬
‫٘‪ٛ‬ؿ ثطای ٔؿش‪ٙ‬س ؾبظی ثط٘بٔ‪ ٝ‬اؾشفبز‪ٔ ٜ‬ی ق‪ٛ‬ز ‪ ٚ‬زض زضؼ ‪ٞ‬بی آی‪ٙ‬س‪ ٜ‬زض ٔ‪ٛ‬ضز آ٘‪ٟ‬ب س‪ٛ‬ضیح ذ‪ٛ‬ا‪ٞ‬یٓ زاز‪.‬‬

‫واساوسشّای وٌسشلی‬

‫وبضاوشط‪ٞ‬بی و‪ٙ‬شطِی‪ ،‬وبضاوشط‪ٞ‬بی سطویجی ‪ٞ‬ؿش‪ٙ‬س و‪ ٝ‬ثب یه ثه اؾّف \() قط‪ٚ‬ؿ ٔی ق‪٘ٛ‬س ‪ ٚ‬ث‪ ٝ‬ز٘جبَ آ٘‪ٟ‬ب یه حطف یب فسز ٔی‬
‫آیس ‪ ٚ‬یه ضقش‪ ٝ‬ضا ثب فطٔز ذبل ٕ٘بیف ٔی ز‪ٙٞ‬س‪ .‬ثطای ٔثبَ ثطای ایدبز یه ذظ خسیس ‪ ٚ‬لطاض زازٖ ضقش‪ ٝ‬زض آٖ ٔی س‪ٛ‬اٖ اظ‬
‫وبضاوشط و‪ٙ‬شطِی‪ \n‬اؾشفبز‪ ٜ‬وطز ‪:‬‬

‫;)"!‪System.Console.WriteLine("Hello\nWorld‬‬
‫‪Hello‬‬
‫!‪World‬‬

‫‪53‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫ٔكب‪ٞ‬س‪ ٜ‬وطزیس و‪ ٝ‬وبٔذبیّط ثقس اظ ٔ‪ٛ‬اخ‪ ٟٝ‬ثب وبضاوشط و‪ٙ‬شطِی‪٘ \n‬كبٍ٘ط ٔ‪ٛ‬ؼ ضا ث‪ ٝ‬ذظ ثقس ثطز‪ ٚ ٜ‬ثمی‪ ٝ‬ضقش‪ ٝ‬ضا زض ذظ ثقس ٕ٘بیف‬
‫ٔی ز‪ٞ‬س‪ٔ.‬شس )(‪ٔ ٓٞ WriteLine‬ب٘‪ٙ‬س وبضاوشط و‪ٙ‬شطِی ‪ \n‬یه ذظ خسیس ایدبز ٔی و‪ٙ‬س ‪ ،‬اِجش‪ ٝ‬ثسیٗ ن‪ٛ‬ضر و‪ ٝ‬زض ا٘ش‪ٟ‬بی ضقش‪ٝ‬‬
‫یه وبضاوشط و‪ٙ‬شطِی‪ \n‬اضبف‪ٔ ٝ‬ی و‪ٙ‬س ‪:‬‬

‫;)"!‪System.Console.WriteLine("Hello World‬‬

‫وس ثبال ‪ ٚ‬وس ظیط ‪ٞ‬یچ فطلی ثب ‪٘ ٓٞ‬ساض٘س ‪:‬‬

‫;)"‪System.Console.Write("Hello World!\n‬‬

‫ٔشس )(‪ Write‬وبضوطزی قجی‪ ٝ‬ث‪ WriteLine() ٝ‬زاضز ثب ایٗ سفب‪ٚ‬ر و‪٘ ٝ‬كبٖ ٌط ٔ‪ٛ‬ؼ ضا زض ‪ٕٞ‬بٖ ذظ ٍ٘‪ٔ ٝ‬ی زاضز ‪ ٚ‬ذظ خسیس‬
‫ایدبز ٕ٘ی و‪ٙ‬س‪ .‬خس‪ َٚ‬ظیط ِیؿز وبضاوشط‪ٞ‬بی و‪ٙ‬شطِی ‪ ٚ‬وبضوطز آ٘‪ٟ‬ب ضا ٘كبٖ ٔی ز‪ٞ‬س ‪:‬‬

‫وبضاوشط و‪ٙ‬شطِی‬ ‫فّٕىطز‬ ‫وبضاوشط و‪ٙ‬شطِی‬ ‫فّٕىطز‬

‫‟\‬ ‫چبح و‪ٛ‬سیكٗ‬ ‫‪\f‬‬ ‫‪Form Feed‬‬

‫”\‬ ‫چبح زاثُ و‪ٛ‬سیكٗ‬ ‫‪\n‬‬ ‫ذظ خسیس‬

‫\\‬ ‫چبح ثه اؾّف‬ ‫‪\r‬‬ ‫ؾط ؾغط ضفشٗ‬

‫‪\0‬‬ ‫چبح فضبی ذبِی‬ ‫حطوز ث‪ ٝ‬ن‪ٛ‬ضر افمی ‪\t‬‬


‫حطوز ث‪ ٝ‬ن‪ٛ‬ضر‬
‫‪\a‬‬ ‫نسای ثیخ‬ ‫‪\v‬‬
‫فٕ‪ٛ‬زی‬

‫‪\b‬‬ ‫حطوز ث‪ ٝ‬فمت‬ ‫چبح وبضاوشط ی‪٘ٛ‬یىس ‪\u‬‬

‫ٔب ثطای اؾشفبز‪ ٜ‬اظ وبضاوشط‪ٞ‬بی و‪ٙ‬شطِی اظ ثه اؾّف\() اؾشفبز‪ٔ ٜ‬ی و‪ٙ‬یٓ‪ .‬اظ آ٘دبییى‪ٔ \ ٝ‬ق‪ٙ‬بی ذبنی ث‪ ٝ‬ضقش‪ٞ ٝ‬ب ٔی ز‪ٞ‬س ثطای‬
‫چبح ثه اؾّف (\) ثبیس اظ (\\) اؾشفبز‪ ٜ‬و‪ٙ‬یٓ ‪:‬‬

‫;)"‪System.Console.WriteLine("We can print a \\ by using the \\\\ escape sequence.‬‬


‫‪We can print a \ by using the \\ escape sequence.‬‬

‫یىی اظ ٔ‪ٛ‬اضز اؾشفبز‪ ٜ‬اظ\\ ‪٘،‬كبٖ زازٖ ٔؿیط یه فبیُ زض ‪ٚ‬ی‪ٙ‬س‪ٚ‬ظ اؾز ‪:‬‬

‫;)"‪System.Console.WriteLine("C:\\Program Files\\Some Directory\\SomeFile.txt‬‬


‫‪C:\Program Files\Some Directory\SomeFile.txt‬‬

‫اظ آ٘دبییى‪ ٝ‬اظ زاثُ و‪ٛ‬سیكٗ (") ثطای ٘كبٖ زازٖ ضقش‪ٞ ٝ‬ب اؾشفبز‪ٔ ٜ‬ی و‪ٙ‬یٓ ثطای چبح آٖ اظ"\ اؾشفبز‪ٔ ٜ‬ی و‪ٙ‬یٓ ‪:‬‬

‫;)"‪System.Console.WriteLine("I said, \"Motivate yourself!\".‬‬


‫‪I said, "Motivate yourself!".‬‬

‫‪54‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫‪ٕٞ‬چ‪ٙ‬یٗ ثطای چبح و‪ٛ‬سیكٗ („) اظ‟\ اؾشفبز‪ٔ ٜ‬ی و‪ٙ‬یٓ ‪:‬‬

‫;)"‪System.Console.WriteLine("The programmer\'s heaven.‬‬


‫‪The programmer's heaven.‬‬

‫ثطای ایدبز فبنّ‪ ٝ‬ثیٗ حط‪ٚ‬ف یب وّٕبر اظ‪ \t‬اؾشفبز‪ٔ ٜ‬ی ق‪ٛ‬ز ‪:‬‬

‫;)"‪System.Console.WriteLine("Left\tRight‬‬
‫‪Left‬‬ ‫‪Right‬‬

‫‪ٞ‬ط سقساز وبضاوشط و‪ ٝ‬ثقس اظ وبضاوشط و‪ٙ‬شطِی‪ \r‬ثیبی‪ٙ‬س ث‪ ٝ‬ا‪ َٚ‬ؾغط ٔ‪ٙ‬شمُ ‪ ٚ‬خبیٍعیٗ وبضاوشط‪ٞ‬بی ٔ‪ٛ‬خ‪ٛ‬ز ٔی ق‪٘ٛ‬س ‪:‬‬

‫;)"‪System.Console.WriteLine("Mitten\rK‬‬
‫‪Kitten‬‬

‫ٔثال زض ٔثبَ ثبال وبضاوشط‪ K‬ثقس اظ وبضاوشط و‪ٙ‬شطِی‪ \r‬آٔس‪ ٜ‬اؾز‪.‬وبضاوشط و‪ٙ‬شطِی حطف‪ K‬ضا ث‪ ٝ‬اثشسای ؾغط ثطز‪ ٚ ٜ‬خبیٍعیٗ حطف‬
‫‪ٔ M‬ی و‪ٙ‬س‪.‬‬

‫ثطای چبح وبضاوشط‪ٞ‬بی ی‪٘ٛ‬یىس ٔی س‪ٛ‬اٖ اظ ‪ \u‬اؾشفبز‪ ٜ‬وطز‪ .‬ثطای اؾشفبز‪ ٜ‬اظ ‪ٔ، \u‬مساض زض ٔج‪ٙ‬بی ‪ 16‬وبضاوشط ضا زضؾز ثقس اظ‬
‫فالٔز ‪ \u‬لطاض ٔی ز‪ٞ‬یٓ‪ .‬ثطای ٔثبَ اٌط ثر‪ٛ‬ا‪ٞ‬یٓ فالٔز وذی ضایز (© ) ضا چبح و‪ٙ‬یٓ ثبیس ثقس اظ فالٔز ‪ٔ \u‬مساض ‪ 00A9‬ضا لطاض‬
‫ز‪ٞ‬یٓ ٔب٘‪ٙ‬س ‪:‬‬

‫;)"‪System.Console.WriteLine("\u00A9‬‬
‫©‬

‫‪ 16‬ثطای وبضاوشط‪ٞ‬بی ی‪٘ٛ‬یىس ث‪ِ ٝ‬ی‪ٙ‬ه ظیط ٔطاخق‪ٕ٘ ٝ‬بییس ‪:‬‬ ‫ثطای ٔكب‪ٞ‬س‪ِ ٜ‬یؿز ٔمبزیط ٔج‪ٙ‬بی‬
‫‪http://www.ascii.cl/htmlcodes.htm‬‬

‫اٌط وبٔذبیّط ث‪ ٝ‬یه وبضاوشط و‪ٙ‬شطِی غیط ٔدبظ ثطذ‪ٛ‬ضز و‪ٙ‬س‪ ،‬ثط٘بٔ‪ ٝ‬دیغبْ ذغب ٔی ز‪ٞ‬س‪ .‬ثیكشطیٗ ذغب ظٔب٘ی اسفبق ٔی افشس و‪ٝ‬‬
‫ثط٘بٔ‪ٛ٘ ٝ‬یؽ ثطای چبح اؾّف \() اظ \\ اؾشفبز‪ٔ ٜ‬ی و‪ٙ‬س‪.‬‬

‫ػالهر @‬
‫فالٔز @ ث‪ ٝ‬قٕب اخبظ‪ٔ ٜ‬ی ز‪ٞ‬س و‪ ٝ‬وبضاوشط‪ٞ‬بی و‪ٙ‬شطِی ضا ضز وطز‪ ٚ ٜ‬ضقش‪ ٝ‬ای ذ‪ٛ‬ا٘ب سط ‪ ٚ‬عجیقی سط ایدبز و‪ٙ‬یس‪ٚ .‬لشی اظ‬
‫وبضاوشط‪ٞ‬بی و‪ٙ‬شطِی زض یه ضقش‪ ٝ‬اؾشفبز‪ٔ ٜ‬ی ق‪ٛ‬ز ٕٔىٗ اؾز ثطای سبیخ ٔثال یه ثه اؾّف ( \ ) ث‪ ٝ‬خبی اؾشفبز‪ ٜ‬اظ ز‪ٚ‬‬
‫فالٔز \\ اظ یه \ اؾشفبز‪ ٜ‬وطز‪ ٚ ٜ‬زچبض اقشجب‪ ٜ‬ق‪ٛ‬یس‪.‬‬

‫‪55‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫ایٗ وبض ثبفث ث‪ٚ ٝ‬خ‪ٛ‬ز آٔسٖ ذغبی وبٔذبیّطی قس‪ ٚ ٜ‬چ‪ ٖٛ‬وبٔذبیّط فىط ٔی و‪ٙ‬س و‪ ٝ‬قٕب ٔی ذ‪ٛ‬ا‪ٞ‬یس یه وبضاوشط و‪ٙ‬شطِی ضا سبیخ‬
‫و‪ٙ‬یس‪ ،‬وبضاوشط ثقس اظ فالٔز \ ضا دطزاظـ ٔی و‪ٙ‬س ‪ ٚ‬چ‪ ٖٛ‬وبضاوشط و‪ٙ‬شطِی ‪ٚ‬خ‪ٛ‬ز ٘ساضز ذغب ث‪ٚ ٝ‬خ‪ٛ‬ز ٔی آیس‪ .‬ث‪ٔ ٝ‬ثبَ ظیط س‪ٛ‬خ‪ٝ‬‬
‫و‪ٙ‬یس ‪:‬‬

‫‪System.Console.WriteLine("I want to have a cat\dog as a birthday present."); //Error‬‬

‫ثب ‪ٚ‬خ‪ٛ‬زیى‪ ٝ‬ث‪ٟ‬شط اؾز زض ٔثبَ ثبال اظ اؾّف ( ‪ ) /‬زض ‪ cat/dog‬اؾشفبز‪ ٜ‬ق‪ٛ‬ز ‪ِٚ‬ی فٕسا اظ ثه اؾّف ( \ ) ثطای اثجبر ٌفش‪ ٝ‬ثبال‬
‫‪ \d‬لبثُ سكریم ٘یؿز‪ ،‬چ‪ ٖٛ‬چ‪ٙ‬یٗ وبضاوشط‬
‫اؾشفبز‪ ٜ‬وطز‪ ٜ‬ایٓ‪ .‬وبٔذبیّط ذغب ایدبز ٔی و‪ٙ‬س ‪ ٚ‬ث‪ ٝ‬قٕب ٔی ٌ‪ٛ‬یس و‪ ٝ‬وبضاوشط و‪ٙ‬شطِی‬
‫و‪ٙ‬شطِی ‪ٚ‬خ‪ٛ‬ز ٘ساضز‪ .‬ظٔب٘ی ‪ٚ‬ضقیز ثسسط ذ‪ٛ‬ا‪ٞ‬س قس و‪ ٝ‬وبضاوشط ثقس اظ ثه اؾّف وبضاوشطی ثبقس و‪ ٓٞ ٝ‬خع یه وّٕ‪ ٝ‬ثبقس ‪ٓٞ ٚ‬‬
‫خع وبضاوشط‪ٞ‬بی و‪ٙ‬شطِی‪ .‬ث‪ٔ ٝ‬ثبَ ظیط س‪ٛ‬خ‪ ٝ‬و‪ٙ‬یس ‪:‬‬

‫;)"‪System.Console.WriteLine("Answer with yes\no:‬‬


‫‪Answer with yes‬‬
‫‪o‬‬

‫اػسفادُ اص ػالهر @ تشای ًادیذُ گشفسي واساوسشّای وٌسشلی‬

‫اؾشفبز‪ ٜ‬اظ فالٔز @ ظٔب٘ی ٔ‪ٙ‬بؾت اؾز و‪ ٝ‬قٕب ٕ٘ی ذ‪ٛ‬ا‪ٞ‬یس اظ فالٔز ثه اؾّف ثطای ٘كبٖ زازٖ یه وبضوشط و‪ٙ‬شطِی اؾشفبز‪ٜ‬‬
‫و‪ٙ‬یس‪ .‬اؾشفبز‪ ٜ‬اظ ایٗ فالٔز ثؿیبض ؾبز‪ ٜ‬اؾز ‪ ٚ‬وبفی اؾز و‪ ٝ‬لجُ اظ ضقش‪ٛٔ ٝ‬ضز ٘ؾط آٖ ضا لطاض ز‪ٞ‬یس‪.‬‬

‫;)"‪System.Console.WriteLine(@"I want to have a cat\dog as a birthday present.‬‬


‫‪I want to have a cat\dog as a birthday present.‬‬

‫اظ فالٔز @ ٔقٕ‪ٛ‬ال ظٔب٘ی اؾشفبز‪ٔ ٜ‬ی ق‪ٛ‬ز و‪ ٝ‬قٕب ثر‪ٛ‬ا‪ٞ‬یس ٔؿیط یه زایطوش‪ٛ‬ضی ضا ث‪ ٝ‬ف‪ٛٙ‬اٖ ضقش‪ ٝ‬زاقش‪ ٝ‬ثبقیس‪ .‬چ‪ٖٛ‬‬
‫@ ث‪ ٝ‬خبی زاثُ ثه اؾّف (\\) ث‪ٟ‬شط اؾز‪.‬‬
‫زایطوش‪ٛ‬ضی ‪ٞ‬ب زاضای سقساز ظیبزی ثه اؾّف ‪ٞ‬ؿش‪ٙ‬س ‪ ٚ‬عجیقشب اؾشفبز‪ ٜ‬اظ فالٔز‬

‫;)"‪System.Console.WriteLine(@"C:\Some Directory\SomeFile.txt‬‬
‫‪C:\Some Directory\SomeFile.txt‬‬

‫اٌط ثر‪ٛ‬ا‪ٞ‬یس یه زاثُ و‪ٛ‬سیكٗ چبح و‪ٙ‬یس ث‪ ٝ‬ؾبزٌی ٔی س‪ٛ‬ا٘یس اظ ز‪ ٚ‬زاثُ و‪ٛ‬سیكٗ اؾشفبز‪ ٜ‬و‪ٙ‬یس‪.‬‬

‫;)"‪System.Console.WriteLine(@"Printing ""double quotations""...‬‬


‫‪Printing "double quotations"...‬‬

‫اظ ث‪ ٝ‬وبض ثطزٖ فالٔز @ ‪ ٚ‬وبضاوشط‪ٞ‬بی و‪ٙ‬شطِی ث‪ ٝ‬ع‪ٛ‬ض ‪ٕٞ‬عٔبٖ ذ‪ٛ‬ززاضی و‪ٙ‬یس چ‪ ٖٛ‬ثبفث چبح وبضاوشط و‪ٙ‬شطِی زض ذط‪ٚ‬خی ٔی‬
‫ق‪ٛ‬ز‪.‬‬

‫‪56‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫اػسفادُ اص ػالهر @ تشای ًگْذاسی اص لالة تٌذی سؿسِ ّا‬

‫یىی زیٍط اظ ٔ‪ٛ‬اضز اؾشفبز‪ ٜ‬اظ فالٔز @ چبح ضقش‪ٞ ٝ‬بی چ‪ٙ‬س ذغی ثس‪ ٖٚ‬اؾشفبز‪ ٜ‬اظ وبضاوشط و‪ٙ‬شطِی ‪ \n‬اؾز‪ .‬ث‪ ٝ‬ف‪ٛٙ‬اٖ ٔثبَ‬
‫ثطای چبح دیغبْ ظیط ‪:‬‬

‫‪C# is a great programming language and‬‬


‫‪it allows you to create different‬‬
‫‪kinds of applications.‬‬

‫یىی اظ ضا‪ٞ ٜ‬بی چبح خّٕ‪ ٝ‬ثبال ث‪ ٝ‬ن‪ٛ‬ضر ظیط اؾز ‪:‬‬

‫‪Console.WriteLine("C# is a great programming language and\n" +‬‬


‫‪"it allows you to create different\n" +‬‬
‫;)"‪"kinds of applications.‬‬

‫ث‪٘ ٝ‬ح‪ ٜٛ‬اؾشفبز‪ ٜ‬اظ ‪ \n‬زض آذط ‪ٞ‬ط خّٕ‪ ٝ‬س‪ٛ‬خ‪ ٝ‬و‪ٙ‬یس‪ .‬ایٗ وبضاوشط ‪ٕٞ‬ب٘غ‪ٛ‬ض و‪ ٝ‬لجال ٔكب‪ٞ‬س‪ ٜ‬وطزیس ذظ خسیس ایدبز ٔی و‪ٙ‬س ‪ ٚ‬زض‬
‫ٔثبَ ثبال ثبفث ٔی ق‪ٛ‬ز و‪ ٝ‬خّٕ‪ ٝ‬ث‪ ٝ‬چ‪ٙ‬س ذظ سمؿیٓ ق‪ٛ‬ز‪ .‬اظ فالٔز ‪ ٓٞ +‬ثطای سطویت ضقش‪ٞ ٝ‬ب اؾشفبز‪ٔ ٜ‬ی ق‪ٛ‬ز‪ .‬ضا‪ ٜ‬زیٍط ثطای‬
‫ٕ٘بیف ٔثبَ ثبال زض چ‪ٙ‬سیٗ ذظ اؾشفبز‪ ٜ‬اظ فالٔز@ اؾز‬

‫‪Console.WriteLine(@"C# is a great programming language and‬‬


‫‪it allows you to create different‬‬
‫;)"‪kinds of applications.‬‬

‫‪ Enter‬ضا فكبض ز‪ٞ‬یس‬


‫زض ایٗ حبِز وبفیؿز و‪ ٝ‬زض ‪ٞ‬ط خب و‪ٔ ٝ‬ی ذ‪ٛ‬ا‪ٞ‬یس ضقش‪ ٝ‬زض ذظ ثقس ٕ٘بیف زاز‪ ٜ‬ق‪ٛ‬ز زوٕ‪ٝ‬‬

‫هسغیشّا‬
‫ٔشغیط ٔىب٘ی اظ حبفؾ‪ ٝ‬اؾز و‪ ٝ‬قٕب ٔی س‪ٛ‬ا٘یس ٔمبزیطی ضا زض آٖ شذیط‪ ٜ‬و‪ٙ‬یس‪ٔ .‬ی س‪ٛ‬اٖ آٖ ضا ث‪ ٝ‬ف‪ٛٙ‬اٖ یه ؽطف سه‪ٛ‬ض وطز و‪ٝ‬‬
‫زاز‪ٞ ٜ‬بی ذ‪ٛ‬ز ضا زض آٖ لطاض زاز‪ ٜ‬ایس‪ٔ .‬حش‪ٛ‬یبر ایٗ ؽطف ٔی س‪ٛ‬ا٘س دبن ق‪ٛ‬ز یب سغییط و‪ٙ‬س‪ٞ .‬ط ٔشغیط زاضای یه ٘بْ ٘یع ‪ٞ‬ؿز‪.‬و‪ ٝ‬اظ‬
‫عطیك آٖ ٔی س‪ٛ‬اٖ ٔشغیط ضا اظ زیٍط ٔشغیط ‪ٞ‬ب سكریم زاز ‪ ٚ‬ث‪ٔ ٝ‬مساض آٖ زؾشطؾی دیسا وطز‪ٕٞ .‬چ‪ٙ‬یٗ زاضای یه ٔمساض ٔی ثبقس‬
‫و‪ٔ ٝ‬ی س‪ٛ‬ا٘س س‪ٛ‬ؾظ وبضثط ا٘شربة قس‪ ٜ‬ثبقس یب ٘شید‪ ٝ‬یه ٔحبؾج‪ ٝ‬ثبقس‪ٔ .‬مساض ٔشغیط ٔی س‪ٛ‬ا٘س س‪ٟ‬ی ٘یع ثبقس‪ٔ.‬شغیط زاضای ٘‪ٛ‬ؿ ٘یع‬
‫‪ٞ‬ؿز ثسیٗ ٔق‪ٙ‬ی و‪ٛ٘ ٝ‬ؿ آٖ ثب ٘‪ٛ‬ؿ زاز‪ ٜ‬ای و‪ ٝ‬زض آٖ شذیط‪ٔ ٜ‬ی ق‪ٛ‬ز یىی اؾز‪ٔ .‬شغیط زاضای فٕط ٘یع ‪ٞ‬ؿز و‪ ٝ‬اظ ض‪ٚ‬ی آٖ ٔی‬
‫س‪ٛ‬اٖ سكریم زاز و‪ٔ ٝ‬شغیط ثبیس چمسض زض ع‪ َٛ‬ثط٘بٔ‪ٛٔ ٝ‬ضز اؾشفبز‪ ٜ‬لطاض ٌیطز‪ ٚ .‬زض ٘‪ٟ‬بیز ٔشغیط زاضای ٔحس‪ٚ‬ز‪ ٜ‬اؾشفبز‪٘ ٜ‬یع‬
‫‪ٞ‬ؿز و‪ ٝ‬ث‪ ٝ‬قٕب ٔی ٌ‪ٛ‬یس و‪ٔ ٝ‬شغیط زض چ‪ ٝ‬خبی ثط٘بٔ‪ ٝ‬ثطای قٕب لبثُ زؾشطؾی اؾز‪ٔ .‬ب اظ ٔشغیط‪ٞ‬ب ث‪ ٝ‬ف‪ٛٙ‬اٖ یه ا٘جبض ٔ‪ٛ‬لشی‬
‫ثطای شذیط‪ ٜ‬زاز‪ ٜ‬اؾشفبز‪ٔ ٜ‬ی و‪ٙ‬یٓ‪ٍٙٞ .‬بٔی و‪ ٝ‬یه ثط٘بٔ‪ ٝ‬ایدبز ٔی و‪ٙ‬یٓ احشیبج ث‪ ٝ‬یه ٔىبٖ ثطای شذیط‪ ٜ‬زاز‪ٔ، ٜ‬مبزیط یب زاز‪ٜ‬‬
‫‪ٞ‬بیی و‪ ٝ‬س‪ٛ‬ؾظ وبضثط ‪ٚ‬اضز ٔی ق‪٘ٛ‬س زاضیٓ‪ .‬ایٗ ٔىبٖ ‪ٕٞ‬بٖ ٔشغیط اؾز‪ .‬ثطای ایٗ اظ وّٕ‪ٔ ٝ‬شغیط اؾشفبز‪ٔ ٜ‬ی ق‪ٛ‬ز چ‪ٔ ٖٛ‬ب ٔی‬
‫س‪ٛ‬ا٘یٓ ثؿش‪ ٝ‬ث‪ٛ٘ ٝ‬ؿ قطایظ ‪ٞ‬ط خب و‪ ٝ‬الظْ ثبقس ٔمساض آٖ ضا سغییط ز‪ٞ‬یٓ‪ٔ .‬شغیط‪ٞ‬ب ٔ‪ٛ‬لشی ‪ٞ‬ؿش‪ٙ‬س ‪ ٚ‬فمظ ٔ‪ٛ‬لقی ٔ‪ٛ‬ضز اؾشفبز‪ ٜ‬لطاض‬

‫‪57‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫ٔی ٌیط٘س و‪ ٝ‬ثط٘بٔ‪ ٝ‬زض حبَ اخطاؾز ‪ٚ ٚ‬لشی قٕب ثط٘بٔ‪ ٝ‬ضا ٔی ث‪ٙ‬سیس ٔحش‪ٛ‬یبر ٔشغیط ‪ٞ‬ب ٘یع دبن ٔی ق‪ٛ‬ز‪ .‬لجال شوط قس و‪ ٝ‬ث‪ٝ‬‬
‫‪ٚ‬ؾیّ‪٘ ٝ‬بْ ٔشغیط ٔی س‪ٛ‬اٖ ث‪ ٝ‬آٖ زؾشطؾی دیسا وطز‪.‬‬

‫ثطای ٘بٍٔصاضی ٔشغیط‪ٞ‬ب ثبیس ل‪ٛ‬ا٘یٗ ظیط ضا ضفبیز وطز ‪:‬‬

‫٘بْ ٔشغیط ثبیس ثب یه اظ حط‪ٚ‬ف اِفجب)‪ (a-z or A-Z‬قط‪ٚ‬ؿ ق‪ٛ‬ز‪.‬‬

‫ٕ٘ی س‪ٛ‬ا٘س قبُٔ وبضاوشط‪ٞ‬بی غیطٔدبظ ٔب٘‪ٙ‬س‪ #, ?, ^, $.‬ثبقس‪.‬‬

‫ٕ٘ی س‪ٛ‬اٖ اظ وّٕبر ضظض‪ ٚ‬قس‪ ٜ‬زض ؾی قبضح ثطای ٘بْ ٔشغیط اؾشفبز‪ ٜ‬وطز‪.‬‬

‫٘بْ ٔشغیط ٘جبیس زاضای فضبی ذبِی (‪ )spaces‬ثبقس‪.‬‬

‫اؾبٔی ٔشغیط‪ٞ‬ب ٘ؿجز ث‪ ٝ‬ثعضٌی ‪ ٚ‬و‪ٛ‬چىی حط‪ٚ‬ف حؿبؼ ‪ٞ‬ؿش‪ٙ‬س‪ .‬زض ؾی قبضح ز‪ ٚ‬حطف ٔب٘‪ٙ‬س ‪ A ٚ a‬ز‪ ٚ‬وبضاوشط ٔرشّف ث‪ٝ‬‬
‫حؿبة ٔی آی‪ٙ‬س‪.‬‬

‫ز‪ٔ ٚ‬شغیط ثب ٘بٔ‪ٟ‬بی ‪ MyNumber ٚ myNumber‬ز‪ٔ ٚ‬شغیط ٔرشّف ٔحؿ‪ٛ‬ة ٔی ق‪٘ٛ‬س چ‪ ٖٛ‬یىی اظ آ٘‪ٟ‬ب ثب حطف و‪ٛ‬چه ‪ٚ m‬‬
‫‪ٔ( scope‬حس‪ٚ‬ز‪)ٜ‬‬ ‫زیٍطی ثب حطف ثعضي ‪ M‬قط‪ٚ‬ؿ ٔی ق‪ٛ‬ز‪ .‬قٕب ٕ٘ی س‪ٛ‬ا٘یس ز‪ٔ ٚ‬شغیط و‪ ٝ‬زلیك قجی‪ٞ ٓٞ ٝ‬ؿش‪ٙ‬س ضا زض یه‬
‫سقطیف و‪ٙ‬یس‪ Scope.‬ثّ‪ٛ‬ن وس ی اؾز و‪ٔ ٝ‬شغیط زض آٖ لبثُ زؾشطؾی ‪ ٚ‬اؾشفبز‪ٔ ٜ‬ی ثبقس‪ .‬زض ٔ‪ٛ‬ضز ‪ Scope‬زض فهّ‪ٟ‬بی آی‪ٙ‬س‪ٜ‬‬
‫ثیكشط س‪ٛ‬ضیح ذ‪ٛ‬ا‪ٞ‬یٓ زاز‪ٔ .‬شغیط زاضای ٘‪ٛ‬ؿ ‪ٞ‬ؿز و‪ٛ٘ ٝ‬ؿ زاز‪ ٜ‬ای ضا و‪ ٝ‬زض ذ‪ٛ‬ز شذیط‪ٔ ٜ‬ی و‪ٙ‬س ضا ٘كبٖ ٔی ز‪ٞ‬س‪.‬‬

‫ٔقٕ‪ِٛ‬شطیٗ ا٘‪ٛ‬اؿ زاز‪ٔ int, double, string, char, float, decimal ٜ‬ی ثبق‪ٙ‬س‪ .‬ثطای ٔثبَ قٕب ثطای لطاض زازٖ یه فسز‬
‫نحیح زض ٔشغیط ثبیس اظ ٘‪ٛ‬ؿ‪ int‬اؾشفبز‪ ٜ‬و‪ٙ‬یس‪.‬‬

‫اًَاع ػادُ‬
‫ا٘‪ٛ‬اؿ ؾبز‪ ٜ‬ا٘‪ٛ‬افی اظ زاز‪ٞ ٜ‬ب ‪ٞ‬ؿش‪ٙ‬س و‪ ٝ‬قبُٔ افساز‪ ،‬وبضاوشط‪ٞ‬ب ‪ ٚ‬ضقش‪ٞ ٝ‬ب ‪ٔ ٚ‬مبزیط ث‪ِٛ‬ی ٔی ثبق‪ٙ‬س‪ .‬ث‪ ٝ‬ا٘‪ٛ‬اؿ ؾبز‪ ٜ‬ا٘‪ٛ‬اؿ انّی ٘یع‬
‫ٌفش‪ٔ ٝ‬ی ق‪ٛ‬ز چ‪ ٖٛ‬اظ آ٘‪ٟ‬ب ثطای ؾبذز ا٘‪ٛ‬اؿ دیچیس‪ ٜ‬سطی ٔب٘‪ٙ‬س والؼ ‪ٞ‬ب ‪ ٚ‬ؾبذشبض‪ٞ‬ب اؾشفبز‪ٔ ٜ‬ی ق‪ٛ‬ز‪ .‬ا٘‪ٛ‬اؿ ؾبز‪ ٜ‬زاضای‬
‫ٔدٕ‪ٛ‬ف‪ٔ ٝ‬كرهی اظ ٔمبزیط ‪ٞ‬ؿش‪ٙ‬س ‪ٔ ٚ‬حس‪ٚ‬ز‪ ٜ‬ذبنی اظ افساز ضا زض ذ‪ٛ‬ز شذیط‪ٔ ٜ‬ی و‪ٙٙ‬س‪ .‬زض خس‪ َٚ‬ظیط ا٘‪ٛ‬اؿ ؾبز‪ٔ ٚ ٜ‬حس‪ٚ‬ز‬
‫آ٘‪ٟ‬ب آٔس‪ ٜ‬اؾز ‪:‬‬

‫٘‪ٛ‬ؿ‬ ‫زأ‪ٝٙ‬‬

‫‪sbyte‬‬ ‫‪-128‬سب‪127‬‬

‫‪byte‬‬ ‫‪0‬سب‪255‬‬

‫‪short‬‬ ‫‪-32768‬سب‪32767‬‬

‫‪58‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫٘‪ٛ‬ؿ‬ ‫زأ‪ٝٙ‬‬

‫‪ushort‬‬ ‫‪ 0‬سب‪65535‬‬

‫‪int‬‬ ‫‪ -2147483648‬سب ‪2147483647‬‬

‫‪uint‬‬ ‫‪0‬سب‪4294967295‬‬
‫‪-9223372036854775808‬سب‬
‫‪long‬‬
‫‪922337203685477807‬‬
‫‪ulong‬‬ ‫‪0‬سب‪18446744073709551615‬‬

‫ث‪ ٝ‬حطف ‪ u‬زض اثشسای ثطذی اظ ا٘‪ٛ‬اؿ زاز‪ٞ ٜ‬ب ٔثال‪ ushort‬س‪ٛ‬خ‪ ٝ‬و‪ٙ‬یس‪ .‬ایٗ ثساٖ ٔق‪ٙ‬بؾز و‪ ٝ‬ایٗ ٘‪ٛ‬ؿ فمظ قبُٔ افساز ٔثجز ‪ ٚ‬نفط‬
‫‪ٞ‬ؿش‪ٙ‬س‪ .‬خس‪ َٚ‬ظیط ا٘‪ٛ‬افی و‪ٔ ٝ‬مبزیط ثب ٕٔیع افكبض ضا ٔی س‪ٛ‬ا٘‪ٙ‬س زض ذ‪ٛ‬ز شذیط‪ ٜ‬و‪ٙٙ‬س ضا ٘كبٖ ٔی ز‪ٞ‬س ‪:‬‬

‫٘‪ٛ‬ؿ‬ ‫زأ‪ ٝٙ‬سمطیجی‬ ‫زلز‬

‫‪float‬‬ ‫‪ ±1.5E-45‬سب ‪±3.4E38‬‬ ‫‪ 7‬ضلٓ‬

‫‪double‬‬ ‫سب ‪±1.7E308‬‬ ‫‪±5.0E-324‬‬ ‫‪ 15 – 16‬ضلٓ‬

‫‪decimal‬‬ ‫)‪ (-7.9 x 1028) / (100 to 28‬سب )‪(7.9 x 1028) / (100 to 28‬‬ ‫‪ 28 – 29‬ضلٓ ٔق‪ٙ‬بزاض‬

‫ثطای ث‪ ٝ‬ذبعط ؾذطزٖ آ٘‪ٟ‬ب ثبیس اظ ٕ٘بز فّٕی اؾشفبز‪ ٜ‬ق‪ٛ‬ز‪ٛ٘ .‬ؿ زیٍطی اظ ا٘‪ٛ‬اؿ ؾبز‪ ٜ‬ثطای شذیط‪ ٜ‬زاز‪ٞ ٜ‬بی غیط فسزی ث‪ ٝ‬وبض ٔی‬
‫ض‪٘ٚ‬س ‪ ٚ‬زض خس‪ َٚ‬ظیط ٕ٘بیف زاز‪ ٜ‬قس‪ ٜ‬ا٘س ‪:‬‬

‫٘‪ٛ‬ؿ‬ ‫ٔمبزیط ٔدبظ‬

‫‪char‬‬ ‫وبضاوشط‪ٞ‬بی ی‪٘ٛ‬یىس‬

‫‪bool‬‬ ‫ٔمساض ‪ true‬یب ‪false‬‬

‫‪string‬‬ ‫ٔدٕ‪ٛ‬ف‪ ٝ‬ای اظ وبضاوشط‪ٞ‬بی‬

‫)‟‪.(„a‬‬
‫٘‪ٛ‬ؿ ‪ char‬ثطای شذیط‪ ٜ‬وبضاوشط‪ٞ‬بی ی‪٘ٛ‬یىس اؾشفبز‪ٔ ٜ‬ی ق‪ٛ‬ز‪ .‬وبضاوشط‪ٞ‬ب ثبیس زاذُ یه و‪ٛ‬سیكٗ ؾبز‪ ٜ‬لطاض ثٍیط٘س ٔب٘‪ٙ‬س‬

‫٘‪ٛ‬ؿ ‪ bool‬فمظ ٔی س‪ٛ‬ا٘س ٔمبزیط زضؾز ( ‪ )true‬یب ٘بزضؾز ( ‪ )false‬ضا زض ذ‪ٛ‬ز شذیط‪ ٜ‬و‪ٙ‬س ‪ ٚ‬ثیكشط زض ثط٘بٔ‪ٞ ٝ‬بیی و‪ ٝ‬زاضای‬
‫ؾبذشبض سهٕیٓ ٌیطی ‪ٞ‬ؿش‪ٙ‬س ٔ‪ٛ‬ضز اؾشفبز‪ ٜ‬لطاض ٔی ٌیطز‪.‬‬

‫٘‪ٛ‬ؿ ‪ string‬ثطای شذیط‪ٌ ٜ‬ط‪ٞٚ‬ی اظ وبضاوشط‪ٞ‬ب ٔب٘‪ٙ‬س یه دیغبْ اؾشفبز‪ٔ ٜ‬ی ق‪ٛ‬ز‪ٔ .‬مبزیط شذیط‪ ٜ‬قس‪ ٜ‬زض یه ضقش‪ ٝ‬ثبیس زاذُ زاثُ‬
‫”‪)“massage‬‬
‫و‪ٛ‬سیكٗ لطاض ٌیط٘س سب س‪ٛ‬ؾظ وبٔذبیّط ث‪ ٝ‬ف‪ٛٙ‬اٖ یه ضقش‪ ٝ‬زض ٘ؾط ٌطفش‪ ٝ‬ق‪٘ٛ‬س‪ٔ .‬ب٘‪ٙ‬س (‬

‫‪59‬‬
www.w3-farsi.com ‫یًَغ اتشاّیوی‬: ِ‫زالیف ٍ زشجو‬ ‫هثاًی صتاى ػی ؿاسج‬

‫اػسفادُ اص هسغیشّا‬

: ‫ اؾز‬ٜ‫ قس‬ٜ‫ب ٕ٘بیف زاز‬ٞ‫ی ٔشغیط‬ٞ‫ ٔمساض ز‬ٚ ‫ سقطیف‬ٜٛ‫زض ٔثبَ ظیط ٘ح‬

1 using System;
2
3 public class Program
4 {
5 public static void Main()
6 {
7 //Declare variables
8 int num1;
9 int num2;
10 double num3;
11 double num4;
12 bool boolVal;
13 char myChar;
14 string message;
15
16 //Assign values to variables
17 num1 = 1;
18 num2 = 2;
19 num3 = 3.54;
20 num4 = 4.12;
21 boolVal = true;
22 myChar = 'R';
23 message = "Hello World!";
24
25 //Show the values of the variables
26 Console.WriteLine("num1 = {0}", num1);
27 Console.WriteLine("num2 = {0}", num2);
28 Console.WriteLine("num3 = {0}", num3);
29 Console.WriteLine("num4 = {0}", num4);
30 Console.WriteLine("boolVal = {0}", boolVal);
31 Console.WriteLine("myChar = {0}", myChar);
32 Console.WriteLine("message = {0}", message);
33 }
34 }
num1 = 1
num2 = 2
num3 = 3.54
num4 = 4.12
boolVal = true
myChar = R
message = Hello World!

60
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫زؼشیف هسغیش‬

‫زض ذغ‪ٛ‬ط ‪ٔ 8-14‬شغیط‪ٞ‬بیی ثب ٘‪ٛ‬ؿ ‪٘ ٚ‬بْ ٔشفب‪ٚ‬ر سقطیف قس‪ ٜ‬ا٘س‪ .‬اثشسا ثبیس ٘‪ٛ‬ؿ زاز‪ٞ ٜ‬بیی ضا و‪ ٝ‬ایٗ ٔشغیط ‪ٞ‬ب لطاض اؾز زض ذ‪ٛ‬ز‬
‫شذیط‪ ٜ‬و‪ٙٙ‬س ضا ٔكرم و‪ٙ‬یٓ ‪ ٚ‬ؾذؽ یه ٘بْ ثطای آ٘‪ٟ‬ب زض ٘ؾط ثٍیطیٓ ‪ ٚ‬زض آذط ؾیٕیى‪ ِٗٛ‬ثٍصاضیٓ‪ٕٞ .‬یك‪ ٝ‬ث‪ ٝ‬یبز زاقش‪ ٝ‬ثبقیس‬
‫و‪ ٝ‬لجُ اظ ٔمساض ز‪ٞ‬ی ‪ ٚ‬اؾشفبز‪ ٜ‬اظ ٔشغیط ثبیس آٖ ضا سقطیف وطز‪.‬‬

‫;‪int num1‬‬
‫;‪int num2‬‬
‫;‪double num3‬‬
‫;‪double num4‬‬
‫;‪bool boolVal‬‬
‫;‪char myChar‬‬
‫;‪string message‬‬

‫٘ح‪ ٜٛ‬سقطیف ٔشغیط ث‪ ٝ‬ن‪ٛ‬ضر ظیط اؾز ‪:‬‬

‫;‪data_type identifier‬‬

‫‪ٕٞ date_type‬بٖ ٘‪ٛ‬ؿ زاز‪ ٜ‬اؾز ٔب٘‪ٙ‬س ‪٘ Identifier . ....ٚ double، int‬یع ٘بْ ٔشغیط اؾز و‪ ٝ‬ث‪ٔ ٝ‬ب أىبٖ اؾشفبز‪ ٚ ٜ‬زؾشطؾی‬
‫ث‪ٔ ٝ‬مساض ٔشغیط ضا ٔی ز‪ٞ‬س‪ .‬ثطای سقطیف چ‪ٙ‬س ٔشغیط اظ یه ٘‪ٛ‬ؿ ٔی س‪ٛ‬اٖ ث‪ ٝ‬ن‪ٛ‬ضر ظیط فُٕ وطز ‪:‬‬

‫;‪data_type identifier1, identifier2, ... indentifierN‬‬

‫ٔثبَ‬

‫;‪int num1, num2, num3, num4, num5‬‬


‫;‪string message1, message2, message3‬‬

‫زض ٔثبَ ثبال ‪ٔ 5‬شغیط اظ ٘‪ٛ‬ؿ نحیح ‪ٔ 3ٚ‬شغیط اظ ٘‪ٛ‬ؿ ضقش‪ ٝ‬سقطیف قس‪ ٜ‬اؾز‪ .‬س‪ٛ‬خ‪ ٝ‬زاقش‪ ٝ‬ثبقیس و‪ ٝ‬ثیٗ ٔشغیط ‪ٞ‬ب ثبیس فالٔز وبٔب‬
‫(‪ ) ,‬ثبقس‪.‬‬

‫ًاهگزاسی هسغیشّا‬

‫٘بْ ٔشغیط ثبیس ثب یه حطف یب ظیطذظ ‪ ٚ‬ث‪ ٝ‬ز٘جبَ آٖ حطف یب فسز قط‪ٚ‬ؿ ق‪ٛ‬ز‪.‬‬

‫ٕ٘ی س‪ٛ‬اٖ اظ وبضاوشط‪ٞ‬بی ذبل ٔب٘‪ٙ‬س& ‪ #, %,‬یب فسز ثطای قط‪ٚ‬ؿ ٘بْ ٔشغیط اؾشفبز‪ ٜ‬وطز ٔب٘‪ٙ‬س‪. 2numbers‬‬

‫‪61‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫٘بْ ٔشغیط ٘جبیس زاضای فبنّ‪ ٝ‬ثبقس‪ .‬ثطای ٘بْ ‪ٞ‬بی چ‪ٙ‬س حطفی ٔیش‪ٛ‬اٖ ث‪ ٝ‬خبی فبنّ‪ ٝ‬اظ فالٔز ظیطذظ_یباؾشفبز‪ ٜ‬وطز‪.‬‬

‫٘بٔ‪ٟ‬بی ٔدبظ ‪:‬‬

‫‪num1‬‬ ‫‪myNumber‬‬ ‫‪studentCount‬‬ ‫‪total‬‬ ‫‪first_name‬‬ ‫‪_minimum‬‬


‫‪num2‬‬ ‫‪myChar‬‬ ‫‪average‬‬ ‫‪amountDue‬‬ ‫‪last_name‬‬ ‫‪_maximum‬‬
‫‪name‬‬ ‫‪counter‬‬ ‫‪sum‬‬ ‫‪isLeapYear‬‬ ‫‪color_of_car‬‬ ‫‪_age‬‬

‫٘بٔ‪ٟ‬بی غیط ٔدبظ ‪:‬‬

‫‪123‬‬ ‫‪#numbers#‬‬ ‫‪#ofstudents‬‬ ‫‪1abc2‬‬


‫‪123abc‬‬ ‫‪$money‬‬ ‫‪first name‬‬ ‫‪ty.np‬‬
‫‪my number‬‬ ‫‪this&that‬‬ ‫‪last name‬‬ ‫‪1:00‬‬

‫اٌط ث‪٘ ٝ‬بٔ‪ٟ‬بی ٔدبظ زض ٔثبَ ثبال س‪ٛ‬خ‪ ٝ‬و‪ٙ‬یس ٔش‪ٛ‬خ‪ ٝ‬لطاضزاز‪ٞ‬بی ث‪ ٝ‬وبض ضفش‪ ٝ‬زض ٘بٍٔصاضی آ٘‪ٟ‬ب ذ‪ٛ‬ا‪ٞ‬یس قس‪.‬یىی اظ ض‪ٚ‬ق‪ٟ‬بی‬
‫٘بٍٔصاضی‪٘،‬بٍٔصاضی و‪ٞٛ‬بٖ قشطی اؾز‪ .‬زض ایٗ ض‪ٚ‬ـ و‪ ٝ‬ثطای ٔشغیط‪ٞ‬بی ز‪ ٚ‬وّٕ‪ ٝ‬ای ث‪ ٝ‬وبض ٔی ض‪ٚ‬ز‪،‬ا‪ِٚ‬یٗ حطف ا‪ِٚ‬یٗ وّٕ‪ ٝ‬ثب‬
‫حطف و‪ٛ‬چه ‪ ٚ‬ا‪ِٚ‬یٗ حطف ز‪ٔٚ‬یٗ وّٕ‪ ٝ‬ثب حطف ثعضي ٕ٘بیف زاز‪ٔ ٜ‬ی ق‪ٛ‬ز ٔب٘‪ٙ‬س ‪ . myNumber :‬س‪ٛ‬خ‪ ٝ‬و‪ٙ‬یس و‪ ٝ‬ا‪ِٚ‬یٗ حطف‬
‫وّٕ‪ Number ٝ‬ثب حطف ثعضي قط‪ٚ‬ؿ قس‪ ٜ‬اؾز‪ٔ .‬ثبَ زیٍط وّٕ‪ numberOfStudents ٝ‬اؾز‪.‬اٌط س‪ٛ‬خ‪ ٝ‬و‪ٙ‬یس ثقس اظ ا‪ِٚ‬یٗ‬
‫وّٕ‪ ٝ‬حطف ا‪ َٚ‬ؾبیط وّٕبر ثب حط‪ٚ‬ف ثعضي ٕ٘بیف زاز‪ ٜ‬قس‪ ٜ‬اؾز‪.‬‬

‫هحذٍدُ هسغیش‬

‫ٔشغیط‪ٞ‬ب ٔثبَ ثبال زض زاذُ ٔشس ‪ Main‬سقطیف قس‪ ٜ‬ا٘س‪ .‬زض ٘شید‪ ٝ‬ایٗ ٔشغیط‪ٞ‬ب فمظ زض زاذُ ٔشس ‪ Main‬لبثُ زؾشطؾی ‪ٞ‬ؿش‪ٙ‬س‪.‬‬
‫ٔحس‪ٚ‬ز‪ ٜ‬یه ٔشغیط ٔكرم ٔی و‪ٙ‬س و‪ٔ ٝ‬شغیط زض ودبی وس لبثُ زؾشطؾی اؾز‪ٍٙٞ .‬بٔیى‪ ٝ‬ثط٘بٔ‪ ٝ‬ث‪ ٝ‬دبیبٖ ٔشس‪ٔ Main‬ی ضؾس‬
‫ٔشغیط‪ٞ‬ب اظ ٔحس‪ٚ‬ز‪ ٜ‬ذبضج ‪ ٚ‬ثس‪ ٖٚ‬اؾشفبز‪ٔ ٜ‬ی ق‪٘ٛ‬س سب ظٔب٘ی و‪ ٝ‬ثط٘بٔ‪ ٝ‬زض حبَ اخطاؾز‪ٔ .‬حس‪ٚ‬ز‪ٔ ٜ‬شغیط‪ٞ‬ب ا٘‪ٛ‬افی زاضز و‪ ٝ‬زض‬
‫زضؾ‪ٟ‬بی ثقسی ثب آ٘‪ٟ‬ب آق‪ٙ‬ب ٔی ق‪ٛ‬یس‪ .‬سكریم ٔحس‪ٚ‬ز‪ٔ ٜ‬شغیط ثؿیبض ٔ‪ ٟٓ‬اؾز چ‪ ٖٛ‬ث‪ٚ ٝ‬ؾیّ‪ ٝ‬آٖ ٔی ف‪ٕٟ‬یس و‪ ٝ‬زض ودبی وس ٔی‬
‫س‪ٛ‬اٖ اظ ٔشغیط اؾشفبز‪ ٜ‬وطز‪ .‬ثبیس یبز آ‪ٚ‬ض قس و‪ ٝ‬ز‪ٔ ٚ‬شغیط زض یه ٔحس‪ٚ‬ز‪ٕ٘ ٜ‬ی س‪ٛ‬ا٘‪ٙ‬س زاضای ٘بْ یىؿبٖ ثبق‪ٙ‬س‪ٔ .‬ثال وس ظیط زض‬
‫ثط٘بٔ‪ ٝ‬ایدبز ذغب ٔی و‪ٙ‬س ‪:‬‬

‫;‪int num1‬‬
‫;‪int num1‬‬

‫اظ آ٘دبییى‪ ٝ‬ؾی قبضح ث‪ ٝ‬ثعضٌی ‪ ٚ‬و‪ٛ‬چه ث‪ٛ‬زٖ حط‪ٚ‬ف حؿبؼ اؾز ٔی س‪ٛ‬اٖ اظ ایٗ ذبنیز ثطای سقطیف چ‪ٙ‬س ٔشغیط ‪٘ ٓٞ‬بْ ‪ِٚ‬ی‬
‫ثب حط‪ٚ‬ف ٔشفب‪ٚ‬ر(اظ ِحبػ ثعضٌی ‪ ٚ‬و‪ٛ‬چىی) ثطای سقطیف چ‪ٙ‬س ٔشغیط اظ یه ٘‪ٛ‬ؿ اؾشفبز‪ ٜ‬وطز ٔب٘‪ٙ‬س ‪:‬‬

‫‪62‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫;‪int num1‬‬
‫;‪int Num1‬‬
‫;‪int NUM1‬‬

‫همذاسدّی هسغیشّا‬

‫ٔی س‪ٛ‬اٖ ف‪ٛ‬ضا ثقس اظ سقطیف ٔشغیط‪ٞ‬ب ٔمبزیطی ضا ث‪ ٝ‬آ٘‪ٟ‬ب اذشهبل زاز‪.‬ایٗ فُٕ ضا ٔمساضز‪ٞ‬ی ٔی ٘بٔ‪ٙ‬س‪ .‬زض ظیط ٘ح‪ٔ ٜٛ‬مساض ز‪ٞ‬ی‬
‫ٔشغیط ‪ٞ‬ب ٘كبٖ زاز‪ ٜ‬قس‪ ٜ‬اؾز ‪:‬‬

‫;‪data_type identifier = value‬‬

‫ث‪ ٝ‬ف‪ٛٙ‬اٖ ٔثبَ ‪:‬‬

‫;‪int myNumber = 7‬‬

‫‪ٕٞ‬چ‪ٙ‬یٗ ٔی س‪ٛ‬اٖ چ‪ٙ‬سیٗ ٔشغیط ضا فمظ ثب ٌصاقشٗ وبٔب ثیٗ آ٘‪ٟ‬ب ث‪ ٝ‬ؾبزٌی ٔمساض ز‪ٞ‬ی وطز ‪:‬‬

‫;‪data_type variable1 = value1, varaible2 = value2, ... variableN, valueN‬‬

‫ث‪ ٝ‬ف‪ٛٙ‬اٖ ٔثبَ ‪:‬‬

‫;‪int num1 = 1, num2 = 2, num3 = 3‬‬

‫سقطیف ٔشغیط ثب ٔمساض ز‪ٞ‬ی ٔشغیط‪ٞ‬ب ٔشفب‪ٚ‬ر اؾز‪ .‬سقطیف ٔشغیط یق‪ٙ‬ی ا٘شربة ٘‪ٛ‬ؿ ‪٘ ٚ‬بْ ثطای ٔشغیط‪ِٚ ،‬ی ٔمساض ز‪ٞ‬ی یق‪ٙ‬ی‬
‫اذشهبل یه ٔمساض ث‪ٔ ٝ‬شغیط‪.‬‬

‫اخسصاف همذاس تِ هسغیش‬

‫زض ظیط ٘ح‪ ٜٛ‬اذشهبل ٔمبزیط ث‪ٔ ٝ‬شغیط‪ٞ‬ب ٘كبٖ زاز‪ ٜ‬قس‪ ٜ‬اؾز‪:‬‬

‫;‪num1 = 1‬‬
‫;‪num2 = 2‬‬
‫;‪num3 = 3.54‬‬
‫;‪num4 = 4.12‬‬
‫;‪boolVal = true‬‬
‫;'‪myChar = 'R‬‬
‫;"!‪message = "Hello World‬‬

‫ث‪ ٝ‬ایٗ ٘ىش‪ ٝ‬س‪ٛ‬خ‪ ٝ‬و‪ٙ‬یس و‪ ٝ‬قٕب ث‪ٔ ٝ‬شغیطی و‪ٛٙٞ ٝ‬ظ سقطیف ٘كس‪ٕ٘ ٜ‬ی س‪ٛ‬ا٘یس ٔمساض ثس‪ٞ‬یس‪ .‬قٕب فمظ ٔی س‪ٛ‬ا٘یس اظ ٔشغیط‪ٞ‬بیی‬
‫اؾشفبز‪ ٜ‬و‪ٙ‬یس و‪ ٓٞ ٝ‬سقطیف ‪ٔ ٓٞ ٚ‬مساض ز‪ٞ‬ی قس‪ ٜ‬ثبق‪ٙ‬س‪ٔ .‬ثال ٔشغیط‪ٞ‬بی ثبال ‪ ٕٝٞ‬لبثُ اؾشفبز‪ٞ ٜ‬ؿش‪ٙ‬س‪ .‬زض ایٗ ٔثبَ‪ٚ num1‬‬

‫‪63‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫‪ٞ num2‬ط ز‪ ٚ‬سقطیف قس‪ ٜ‬ا٘س ‪ٔ ٚ‬مبزیطی اظ ٘‪ٛ‬ؿ نحیح ث‪ ٝ‬آ٘‪ٟ‬ب اذشهبل زاز‪ ٜ‬قس‪ ٜ‬اؾز‪ .‬اٌط ٘‪ٛ‬ؿ زاز‪ ٜ‬ثب ٘‪ٛ‬ؿ ٔشغیط یىی ٘جبقس‬
‫ثط٘بٔ‪ ٝ‬دیغبْ ذغب ٔی ز‪ٞ‬س‪.‬‬

‫جاًگْذاس ( ‪) Placeholders‬‬

‫ث‪ٔ ٝ‬شس )(‪ WriteLine‬زض ذغ‪ٛ‬ط (‪ )26-32‬س‪ٛ‬خ‪ ٝ‬و‪ٙ‬یس‪ .‬ایٗ ٔشس ز‪ ٚ‬آضٌ‪ٔٛ‬بٖ لج‪ٔ َٛ‬ی و‪ٙ‬س‪ .‬آضٌ‪ٔٛ‬ب٘‪ٟ‬ب اعالفبسی ‪ٞ‬ؿش‪ٙ‬س و‪ٔ ٝ‬شس ثب‬
‫اؾشفبز‪ ٜ‬اظ آ٘‪ٟ‬ب وبضی ا٘دبْ ٔی ز‪ٞ‬س‪.‬‬

‫آضٌ‪ٔٛ‬ب٘‪ٟ‬ب ث‪ٚ ٝ‬ؾیّ‪ ٝ‬وبٔب اظ ‪ ٓٞ‬خسا ٔی ق‪٘ٛ‬س‪ .‬آضٌ‪ٔٛ‬بٖ ا‪ َٚ‬یه ضقش‪ ٝ‬لبِت ث‪ٙ‬سی قس‪ ٜ‬اؾز ‪ ٚ‬آضٌ‪ٔٛ‬بٖ ز‪ٔ ْٚ‬مساضی اؾز و‪ٝ‬‬
‫س‪ٛ‬ؾظ ضقش‪ ٝ‬لبِت ث‪ٙ‬سی قس‪ٛٔ ٜ‬ضز اؾشفبز‪ ٜ‬لطاض ٔی ٌیطز‪.‬‬

‫اٌط ث‪ ٝ‬زلز ٍ٘ب‪ ٜ‬و‪ٙ‬یس ضقش‪ ٝ‬لبِت ث‪ٙ‬سی قس‪ ٜ‬زاضای فسز نفطی اؾز و‪ ٝ‬زض زاذُ ز‪ ٚ‬آو‪ٛ‬الز ٔحه‪ٛ‬ض قس‪ ٜ‬اؾز‪ .‬اِجش‪ ٝ‬فسز زاذُ‬
‫ز‪ ٚ‬آو‪ٛ‬الز ٔی س‪ٛ‬ا٘س اظ نفط سب ‪ n‬ثبقس‪ .‬ث‪ ٝ‬ایٗ افساز خبٍ٘‪ٟ‬ساض ٔی ٌ‪ٛ‬ی‪ٙ‬س‪ .‬ایٗ افساز ث‪ٛ‬ؾیّ‪ٔ ٝ‬مساض آضٌ‪ٔٛ‬بٖ ثقس خبیٍعیٗ ٔی‬
‫ق‪٘ٛ‬س‪ .‬ث‪ ٝ‬ف‪ٛٙ‬اٖ ٔثبَ خبٍ٘‪ٟ‬ساض { ‪ } 0‬ث‪ ٝ‬ایٗ ٔق‪ٙ‬بؾز و‪ ٝ‬ا‪ِٚ‬یٗ آضٌ‪ٔٛ‬بٖ (ٔمساض) ثقس اظ ضقش‪ ٝ‬لبِت ث‪ٙ‬سی قس‪ ٜ‬زض آٖ لطاض ٔی‬
‫ٌیطز‪.‬‬

‫ٔشس ‪ WriteLine‬فٕال ٔی س‪ٛ‬ا٘س ‪ٞ‬ط سقساز آضٌ‪ٔٛ‬بٖ لج‪ َٛ‬و‪ٙ‬س ا‪ِٚ‬یٗ آضٌ‪ٔٛ‬بٖ ‪ٕٞ‬بٖ ضقش‪ ٝ‬لبِت ث‪ٙ‬سی قس‪ ٜ‬اؾز و‪ ٝ‬خبٍ٘‪ٟ‬ساض زض‬
‫آٖ لطاض زاضز ‪ ٚ‬ز‪ٔٚ‬ئیٗ آضٌ‪ٔٛ‬بٖ ٔمساضی اؾز و‪ ٝ‬خبیٍعیٗ خبٍ٘‪ٟ‬ساض ٔی ق‪ٛ‬ز‪ .‬زض ٔثبَ ظیط ‪4‬اظخبٍ٘‪ٟ‬ساض اؾشفبز‪ ٜ‬قس‪ ٜ‬اؾز ‪:‬‬

‫‪Console.WriteLine("The values are {0}, {1}, {2}, and {3}.", value1, value2, value3,‬‬
‫;)‪value4‬‬

‫خبٍ٘‪ٟ‬ساض‪ٞ‬ب اظ نفط قط‪ٚ‬ؿ ٔی ق‪٘ٛ‬س‪ .‬سقساز خبٍ٘‪ٟ‬ساض‪ٞ‬ب ثبیس ثب سقساز آضٌ‪ٔٛ‬ب٘‪ٟ‬بی ثقس اظ ضقش‪ ٝ‬لبِت ث‪ٙ‬سی قس‪ ٜ‬ثطاثط ثبقس‪ .‬ثطای‬
‫ٔثبَ اٌط قٕب چ‪ٟ‬بض خبٍ٘‪ٟ‬ساض ٔثُ ثبال زاقش‪ ٝ‬ثبقیس ثبیس چ‪ٟ‬بض ٔمساض ‪ ٓٞ‬ثطای آ٘‪ٟ‬ب ثقس اظ ضقش‪ ٝ‬لبِت ث‪ٙ‬سی قس‪ ٜ‬زض ٘ؾط ثٍیطیس‪.‬‬
‫ا‪ِٚ‬یٗ خب ٍ٘‪ٟ‬ساض ثب ز‪ٔٚ‬یٗ آضٌ‪ٔٛ‬بٖ ‪ ٚ‬ز‪ٔٚ‬یٗ خب ٍ٘‪ٟ‬ساض ثب ؾ‪ٔٛ‬یٗ آضٌ‪ٔٛ‬بٖ خبیٍعیٗ ٔی ق‪ٛ‬ز‪ .‬زض اثشسا ف‪ٕٟ‬یسٖ ایٗ ٔف‪ ْٟٛ‬ثطای‬
‫وؿب٘ی و‪ ٝ‬سبظ‪ ٜ‬ثط٘بٔ‪ٛ٘ ٝ‬یؿی ضا قط‪ٚ‬ؿ وطز‪ ٜ‬ا٘س ؾرز اؾز أب زض زضؾ‪ٟ‬بی آی‪ٙ‬س‪ٔ ٜ‬ثبِ‪ٟ‬بی ظیبزی زض ایٗ ٔ‪ٛ‬ضز ٔكب‪ٞ‬س‪ ٜ‬ذ‪ٛ‬ا‪ٞ‬یس‬
‫وطز‪.‬‬

‫‪64‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫‪ٚ‬اضز وطزٖ فضب‪ٞ‬بی ٘بْ‬

‫قبیس ث‪ ٝ‬ایٗ ٘ىش‪ ٝ‬س‪ٛ‬خ‪ ٝ‬وطز‪ ٜ‬ثبقیس و‪ٔ ٝ‬ب ظٔبٖ فطاذ‪ٛ‬ا٘ی ٔشس )(‪ ٚ WriteLine‬لجُ اظ ‪، Console‬وّٕ‪ System ٝ‬ضا ٘‪ٛٙ‬قشیٓ‬
‫چ‪ ٖٛ‬زض ذظ ‪ ٚ 1‬زض اثشسای ثط٘بٔ‪ ٝ‬ایٗ وّٕ‪ ٝ‬ضا زض لؿٕز سقطیف فضبی ٘بْ ‪ٚ‬اضز وطزیٓ‪.‬‬

‫;‪using System‬‬

‫ایٗ زؾش‪ٛ‬ض ثسیٗ ٔق‪ٙ‬بؾز و‪ٔ ٝ‬ب اظ سٕبْ چیع‪ٞ‬بیی و‪ ٝ‬زض زاذُ فضبی ٘بْ ؾیؿشٓ لطاض زاض٘س اؾشفبز‪ٔ ٜ‬ی و‪ٙ‬یٓ‪ .‬دؽ ث‪ ٝ‬خبی ای‪ٙ‬ى‪ٝ‬‬
‫خّٕ‪ ٝ‬ظیط ضا ث‪ ٝ‬ع‪ٛ‬ض وبُٔ ث‪ٛٙ‬یؿیٓ ‪:‬‬

‫;)"!‪System.Console.WriteLine("Hello World‬‬

‫ٔی س‪ٛ‬ا٘یٓ آٖ ضا ؾبز‪ ٜ‬سط وطز‪ ٚ ٜ‬ث‪ ٝ‬ن‪ٛ‬ضر ظیط ث‪ٛٙ‬یؿیٓ ‪:‬‬

‫;)"‪Console.WriteLine("Hello World‬‬

‫زض ٔ‪ٛ‬ضز فضبی ٘بْ زض زضؾ‪ٟ‬بی آی‪ٙ‬س‪ ٜ‬س‪ٛ‬ضیح ذ‪ٛ‬ا‪ٞ‬یٓ زاز‪.‬‬

‫ثاتر ّا‬

‫ثبثز ‪ٞ‬ب ا٘‪ٛ‬افی اظ ٔشغیط‪ٞ‬ب ‪ٞ‬ؿش‪ٙ‬س و‪ٔ ٝ‬مساض آ٘‪ٟ‬ب زض ع‪ َٛ‬ثط٘بٔ‪ ٝ‬سغییط ٕ٘ی و‪ٙ‬س‪ .‬ثبثز ‪ٞ‬ب حشٕب ثبیس ٔمساض ز‪ٞ‬ی ا‪ِٚ‬ی‪ ٝ‬ق‪٘ٛ‬س ‪ ٚ‬اٌط‬
‫ٔمساض ز‪ٞ‬ی آ٘‪ٟ‬ب فطأ‪ٛ‬ـ ق‪ٛ‬ز‪ ،‬زض ثط٘بٔ‪ ٝ‬ذغب ث‪ٚ ٝ‬خ‪ٛ‬ز ٔی آیس‪ .‬ثقس اظ ایٗ و‪ ٝ‬ث‪ ٝ‬ثبثز ‪ٞ‬ب ٔمساض ا‪ِٚ‬ی‪ ٝ‬اذشهبل زاز‪ ٜ‬قس ‪ٞ‬طٌع زض‬
‫ظٔبٖ اخطای ثط٘بٔ‪ٕ٘ ٝ‬ی س‪ٛ‬اٖ آٖ ضا سغییط زاز‪ .‬ثطای سقطیف ثبثز ‪ٞ‬ب ثبیس اظ وّٕ‪ ٝ‬وّیسی‪ const‬اؾشفبز‪ ٜ‬وطز‪ٔ .‬قٕ‪ٛ‬ال ٘بْ ثبثز ‪ٞ‬ب ضا‬
‫عجك لطاضزاز ثب حط‪ٚ‬ف ثعضي ٔی ٘‪ٛ‬یؿ‪ٙ‬س سب سكریم آ٘‪ٟ‬ب زض ثط٘بٔ‪ ٝ‬ضاحز ثبقس‪٘ .‬ح‪ ٜٛ‬سقطیف ثبثز زض ظیط آٔس‪ ٜ‬اؾز ‪:‬‬

‫;‪const data_type identifier = initial_value‬‬

‫ٔثبَ ‪:‬‬

‫‪class Program‬‬
‫{‬
‫)(‪public static void Main‬‬
‫{‬
‫;‪const int NUMBER = 1‬‬

‫‪NUMBER = 10; //ERROR, Cant modify a constant‬‬


‫}‬
‫}‬

‫‪65‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫زض ایٗ ٔثبَ ٔی ثی‪ٙ‬یس و‪ٔ ٝ‬مساض زازٖ ث‪ ٝ‬یه ثبثز ‪،‬و‪ ٝ‬لجال ٔمساض ز‪ٞ‬ی قس‪ ٜ‬ثط٘بٔ‪ ٝ‬ضا ثب ذغب ٔ‪ٛ‬اخ‪ٔ ٝ‬ی و‪ٙ‬س‪٘.‬ىش‪ ٝ‬ی زیٍطی و‪ٝ‬‬
‫٘جبیس فطأ‪ٛ‬ـ ق‪ٛ‬ز ایٗ اؾز و‪٘ ٝ‬جبیس ٔمساض ثبثز ضا ثب ٔمساض زیٍط ٔشغیط‪ٞ‬بی سقطیف قس‪ ٜ‬زض ثط٘بٔ‪ ٝ‬ثطاثط لطاض زاز‪.‬‬

‫ٔثبَ ‪:‬‬

‫;‪int someVariable‬‬
‫‪constint MY_CONST = someVariable‬‬

‫ٕٔىٗ اؾز ایٗ ؾ‪ٛ‬اَ ثطایشبٖ دیف آٔس‪ ٜ‬ثبقس و‪ ٝ‬زِیُ اؾشفبز‪ ٜ‬اظ ثبثز ‪ٞ‬ب چیؿز؟ اٌط ٔغٕئٗ ‪ٞ‬ؿشیس و‪ٔ ٝ‬مبزیطی زض ثط٘بٔ‪ٝ‬‬
‫‪ٚ‬خ‪ٛ‬ز زاض٘س و‪ٞ ٝ‬طٌع زض ع‪ َٛ‬ثط٘بٔ‪ ٝ‬سغییط ٕ٘ی و‪ٙٙ‬س ث‪ٟ‬شط اؾز و‪ ٝ‬آ٘‪ٟ‬ب ضا ث‪ ٝ‬ن‪ٛ‬ضر ثبثز سقطیف و‪ٙ‬یس‪.‬ایٗ وبض ‪ٞ‬ط چ‪ٙ‬س و‪ٛ‬چه‬
‫ویفیز ثط٘بٔ‪ ٝ‬قٕب ضا ثبال ٔی ثطز‪.‬‬

‫زثذیل ضوٌی‬

‫سجسیُ ضٕ‪ٙ‬ی ٔشغیط‪ٞ‬ب یه ٘‪ٛ‬ؿ سجسیُ اؾز و‪ ٝ‬ث‪ ٝ‬ع‪ٛ‬ض ذ‪ٛ‬زوبض س‪ٛ‬ؾظ وبٔذبیّط ا٘دبْ ٔی ق‪ٛ‬ز‪ .‬یه ٔشغیط اظ یه ٘‪ٛ‬ؿ زاز‪ٔ ٜ‬ی‬
‫س‪ٛ‬ا٘س ث‪ ٝ‬ع‪ٛ‬ض ضٕ‪ٙ‬ی ث‪ ٝ‬یه ٘‪ٛ‬ؿ زیٍط سجسیُ ق‪ٛ‬ز ث‪ ٝ‬قطعی و‪ٔ ٝ‬مساض آٖ اظ ٔمساض زاز‪ ٜ‬ای و‪ٔ ٝ‬ی ذ‪ٛ‬ا‪ٞ‬س ث‪ ٝ‬آٖ سجسیُ ق‪ٛ‬ز وٕشط‬
‫‪ٔ int‬مبزیط ‪-‬‬ ‫‪ٔ byte‬ی س‪ٛ‬ا٘س ٔمبزیط ‪ 0‬سب ‪ 255‬ضا زض ذ‪ٛ‬ز شذیط‪ ٜ‬و‪ٙ‬س ‪ٛ٘ ٚ‬ؿ زاز‪ ٜ‬ای‬ ‫ثبقس‪ .‬ث‪ ٝ‬ف‪ٛٙ‬اٖ ٔثبَ ٘‪ٛ‬ؿ زاز‪ ٜ‬ای‬
‫‪ 2147483648‬سب ‪ 2147483647‬ضا قبُٔ ٔی ق‪ٛ‬ز‪ .‬دؽ ٔی س‪ٛ‬ا٘یس یه ٔشغیط اظ ٘‪ٛ‬ؿ‪ byte‬ضا ث‪ ٝ‬یه ٘‪ٛ‬ؿ‪ int‬سجسیُ و‪ٙ‬یس ‪:‬‬

‫;‪byte number1 = 5‬‬


‫;‪int number2 = number1‬‬

‫زض ٔثبَ ثبال ٔمساض ‪ number1‬ثطاثط ‪ 5‬اؾز زض ٘شید‪ٔ ٝ‬شغیط ‪ number2‬و‪ ٝ‬یه ٔشغیط اظ ٘‪ٛ‬ؿ نحیح اؾز ٔی س‪ٛ‬ا٘س ٔمساض‬
‫‪ number1‬ضا زض ذ‪ٛ‬ز شذیط‪ ٜ‬و‪ٙ‬س چ‪ٛ٘ ٖٛ‬ؿ نحیح اظ ٘‪ٛ‬ؿ ثبیز ثعضٌشط اؾز‪ .‬دؽ ٔشغیط‪ number1‬و‪ ٝ‬یه ٔشغیط اظ ٘‪ٛ‬ؿ ثبیز‬
‫اؾز ٔی س‪ٛ‬ا٘س ث‪ ٝ‬ع‪ٛ‬ض ضٕ‪ٙ‬ی ث‪ number2ٝ‬و‪ ٝ‬یه ٔشغیط اظ ٘‪ٛ‬ؿ نحیح اؾز سجسیُ ق‪ٛ‬ز‪ .‬أب فىؽ ٔثبَ ثبال نبزق ٘یؿز‪.‬‬

‫;‪int number1 = 5‬‬


‫;‪byte number2 = number1‬‬

‫زض ایٗ ٔ‪ٛ‬ضز ٔب ثب ذغب ٔ‪ٛ‬اخ‪ٔ ٝ‬ی ق‪ٛ‬یٓ‪ .‬اٌط چ‪ٔ ٝ‬مساض ‪ٔ 5‬شغیط ‪ number1‬زض ٔحس‪ٚ‬ز‪ٔ ٜ‬مبزیط ‪ byte‬یق‪ٙ‬ی افساز ثیٗ ‪0-255‬‬
‫‪ byte‬قبُٔ ‪ 8‬ثیز یب ‪ 8‬ضلٓ‬
‫لطاض زاضز أب ٔشغیط ی اظ ٘‪ٛ‬ؿ ثبیز حبفؾ‪ ٝ‬وٕشطی ٘ؿجز ث‪ٔ ٝ‬شغیطی اظ ٘‪ٛ‬ؿ نحیح اقغبَ ٔی و‪ٙ‬س‪ٛ٘ .‬ؿ‬
‫ز‪ٚ‬ز‪ٚ‬یی اؾز زض حبِی و‪ٛ٘ ٝ‬ؿ ‪ int‬قبُٔ ‪ 32‬ثیز یب ضلٓ ثبی‪ٙ‬طی اؾز‪.‬یه فسز ثبی‪ٙ‬طی فسزی ٔشكىُ اظ ‪ 1 ٚ 0‬اؾز‪.‬ثطای ٔثبَ‬
‫فسز ‪ 5‬زض وبٔذی‪ٛ‬سط ث‪ ٝ‬فسز ثبی‪ٙ‬طی ‪ 101‬سطخٕ‪ٔ ٝ‬ی ق‪ٛ‬ز‪ .‬ث‪ٙ‬بثطایٗ ‪ٚ‬لشی ٔب فسز‪ 5‬ضا زض یه ٔشغیط اظ ٘‪ٛ‬ؿ ثبیز شذیط‪ٔ ٜ‬ی و‪ٙ‬یٓ‬
‫فسزی ث‪ ٝ‬ن‪ٛ‬ضر ظیط ٕ٘بیف زاز‪ٔ ٜ‬ی ق‪ٛ‬ز ‪:‬‬

‫‪00000101‬‬

‫‪ٚ ٚ‬لشی آٖ ضا زض یه ٔشغیط اظ ٘‪ٛ‬ؿ نحیح شذیط‪ٔ ٜ‬ی و‪ٙ‬یٓ ث‪ ٝ‬ن‪ٛ‬ضر ظیط ٔبیف زاز‪ٔ ٜ‬ی ق‪ٛ‬ز ‪:‬‬

‫‪66‬‬
www.w3-farsi.com ‫یًَغ اتشاّیوی‬: ِ‫زالیف ٍ زشجو‬ ‫هثاًی صتاى ػی ؿاسج‬

00000000000000000000000000000101

‫سجبَ ضا زض یه‬ٛ‫ح ف‬ٛ‫ یه س‬ٝ‫یٓ و‬ٙ‫ ٔب ؾقی و‬ٝ‫س ایٗ اؾز و‬ٙ٘‫ زضؾز ٔب‬byte ‫ زض یه ٔشغیط‬int ‫بثطایٗ لطاض زازٖ یه ٔمساض‬ٙ‫ث‬
‫ وطز‬ٜ‫اٖ اظ سجسیُ نطیح اؾشفب‬ٛ‫ ٔی س‬byte ‫ؿ‬ٛ٘ ‫ زض یه ٔشغیط اظ‬int ‫ ثطای لطاض زازٖ یه ٔمساض‬.ٓ‫ی‬ٞ‫چه ٌّف خبی ز‬ٛ‫ضاخ و‬ٛ‫ؾ‬
‫ا٘یس افساز ثب ٕٔیع افكبض‬ٛ‫ قٕب ٕ٘ی س‬ٝ‫ز ایٗ اؾز و‬ٛ‫ـ ق‬ٛٔ‫ ٘جبیس فطا‬ٝ‫ زیٍطی و‬ٝ‫ ٘ىش‬.‫ز‬ٛ‫ ٔی ق‬ٜ‫ضیح زاز‬ٛ‫ س‬ٜ‫س‬ٙ‫بی آی‬ٟ‫ زض زضؾ‬ٝ‫و‬
.‫ز‬ٛ‫ٖ ایٗ وبض ثبفث اظ ثیٗ ضفشٗ ثرف افكبضی ایٗ افساز ٔی ق‬ٛ‫یس چ‬ٙ‫ سجسیُ و‬int ‫ؿ‬ٛ٘ ‫ یه‬ٝ‫ضا ث‬

double number1 = 5.25;

int number2 = number1; //Error

‫ب‬ٟ٘‫ط یه اظ آ‬ٞ ٝ‫ ٌطچ‬.‫س‬ٙ‫ؿش‬ٞ ‫ی اظ افساز‬ٟ‫ زاضای عیف ٔكبث‬ٚ‫ط ز‬ٞ ٖٛ‫ سجسیُ وطز چ‬ushort ‫ؿ‬ٛ٘ ٝ‫ؿ وبضاوشط ضا ث‬ٛ٘ ‫اٖ یه‬ٛ‫ٔیش‬
‫ ٔی‬ٕٝ‫اٖ یه فسز سطخ‬ٛٙ‫ ف‬ٝ‫ ث‬ushort ‫ؿ‬ٛ٘ ٚ ‫اٖ یه وبضاوشط‬ٛٙ‫ ف‬ٝ‫ ث‬char ‫ؿ‬ٛ٘ .‫٘س‬ٛ‫ ٔی ق‬ٕٝ‫ؾظ وبٔذبیّط سطخ‬ٛ‫ر س‬ٚ‫وبٔال ٔشفب‬
.‫ز‬ٛ‫ق‬

char charVar = 'c';


ushort shortVar = charVar;

Console.WriteLine(charVar);
Console.WriteLine(shortVar);
c
99

: ‫ اؾز‬ٜ‫َ ظیط آٔس‬ٚ‫س زض خس‬ٞ‫ا٘س ا٘دبْ ز‬ٛ‫ی ٔی س‬ٕٙ‫ضر ض‬ٛ‫ ن‬ٝ‫ وبٔذبیّط ث‬ٝ‫سجسیالسی و‬

Source Type Can Safely Be Converted To


byte short, ushort, int, uint, long, ulong, float, double, decimal
sbyte short, int, long, float, double, decimal
short int, long, float, double, decimal
ushort int, uint, long, ulong, float, double, decimal
int long, float, double, decimal
uint long, ulong, float, double, decimal
long float, double, decimal
ulong float, double, decimal
float double
char ushort, int, uint, long, ulong, float, double, decimal

uint، int ‫ؿ‬ٛ٘ ‫ اظ‬7 ‫ ٔثال فسز‬ٝ‫ض ثسا٘یٓ و‬ٛ‫ ثطای ٔثبَ ٔب چغ‬.‫ اؾز‬ٜ‫ؿ زاز‬ٛ٘ ٗ‫بْ ثط اٍ٘یع اؾز سقی‬ٟ‫ال اث‬ٕٛ‫ ٔق‬ٝ‫ ای زیٍط و‬ٝ‫٘ىش‬
.ٓ‫ی‬ٙ‫ و‬ٝ‫بی افساز اضبف‬ٟ‫ ا٘ش‬ٝ‫بیی ضا ث‬ٞ‫ اؾز؟ ثطای ایٗ وبض ثبیس وبضاوشط‬ulong ‫ یب‬long،

uint number1 = 7U;


long number2 = 7L;

67
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫;‪ulong number3 = 7UL‬‬

‫زض حبِز دیكفطو ‪ ٚ‬ثس‪ ٖٚ‬لطاض زازٖ وبضاوشط زض ا٘ش‪ٟ‬بی فسز وبٔذبیّط فسز ضا اظ ٘‪ٛ‬ؿ نحیح (‪ )int‬زض ٘ؾط ٔی ٌیطز‪ٕٞ .‬چ‪ٙ‬یٗ زض‬
‫حبِز دیكفطو وبٔذبیّط افساز زؾیٕبَ (‪ )decimal‬ضا افساز ‪ double‬زض ٘ؾط ٔی ٌیطز‪.‬‬

‫قٕب ٔی س‪ٛ‬ا٘یس ثطای ٘كبٖ زازٖ افساز افكبضی‪ float‬اظ وبضاوشط ‪ ٚ F‬ثطای ٘كبٖ زازٖ افساز زؾیٕبَ اظ وبضاوشط‪ M‬اؾشفبز‪ ٜ‬و‪ٙ‬یس‪.‬‬

‫;‪double number1 = 1.23‬‬


‫;‪float number2 = 1.23F‬‬
‫‪decimal number3 = 1.23M‬‬

‫زثذیل صشیح‬

‫سجسیُ نطیح ٘‪ٛ‬فی سجسیُ اؾز و‪ ٝ‬ثط٘بٔ‪ ٝ‬ضا ٔدج‪ٛ‬ض ٔی و‪ٙ‬س و‪ ٝ‬یه ٘‪ٛ‬ؿ زاز‪ ٜ‬ضا ث‪ٛ٘ ٝ‬فی زیٍط سجسیُ و‪ٙ‬س اٌط ایٗ ٘‪ٛ‬ؿ سجسیُ اظ‬
‫عطیك سجسیُ ضٕ‪ٙ‬ی ا٘دبْ ٘ك‪ٛ‬ز‪ .‬زض ‪ٍٙٞ‬بْ اؾشفبز‪ ٜ‬اظ ایٗ سجسیُ ثبیس زلز وطز چ‪ ٖٛ‬زض ایٗ ٘‪ٛ‬ؿ سجسیُ ٕٔىٗ اؾز ٔمبزیط انالح‬
‫یب حصف ق‪٘ٛ‬س‪ٔ .‬ب ٔیش‪ٛ‬ا٘یٓ ایٗ فّٕیبر ضا ثب اؾشفبز‪ ٜ‬اظ‪ Cast‬ا٘دبْ ز‪ٞ‬یٓ‪ Cast .‬فمظ ٘بْ زیٍط سجسیُ نطیح اؾز ‪ ٚ‬زؾش‪ٛ‬ض آٖ ث‪ٝ‬‬
‫ن‪ٛ‬ضر ظیط اؾز ‪:‬‬

‫;‪datatypeA variableA = value‬‬


‫;‪datatypeB variableB = (datatypeB)variableA‬‬

‫‪ٕٞ‬ب٘غ‪ٛ‬ض و‪ ٝ‬لجال ٔكب‪ٞ‬س‪ ٜ‬وطزیس ٘‪ٛ‬ؿ ‪ int‬ضا ٘ش‪ٛ‬ا٘ؿشیٓ ث‪ٛ٘ ٝ‬ؿ ‪ byte‬سجسیُ و‪ٙ‬یٓ أب او‪ ٖٛٙ‬ثب اؾشفبز‪ ٜ‬اظ فُٕ ‪ Cast‬ایٗ سجسیُ‬
‫ا٘دبْ ذ‪ٛ‬ا‪ٞ‬س قس ‪:‬‬

‫;‪int number1 = 5‬‬

‫;‪byte number2 = (byte)number1‬‬

‫حبَ اٌط ثط٘بٔ‪ ٝ‬ضا اخطا و‪ٙ‬یس ثب ذغب ٔ‪ٛ‬اخ‪٘ ٝ‬ر‪ٛ‬ا‪ٞ‬یس قس‪ٕٞ .‬ب٘غ‪ٛ‬ض و‪ ٝ‬دیكشط اقبض‪ ٜ‬قس ٕٔىٗ اؾز زض ‪ٍٙٞ‬بْ سجسیالر ٔمبزیط‬
‫‪ double‬ضا ث‪ ٝ‬یه ٘‪ٛ‬ؿ ‪ int‬سجسیُ ٔی و‪ٙ‬یٓ ٔمساض افساز‬
‫انّی سغییط و‪ٙٙ‬س‪ .‬ثطای ٔثبَ ‪ٚ‬لشی و‪ ٝ‬یه فسز ثب ٕٔیع افكبض ٔثال اظ ٘‪ٛ‬ؿ‬
‫ثقس اظ ٕٔیع اظ ثیٗ ٔی ض‪٘ٚ‬س ‪:‬‬

‫;‪double number1 = 5.25‬‬

‫;‪int number2 = (int)number1‬‬

‫)‪Console.WriteLine(number2‬‬
‫‪5‬‬

‫‪68‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫ذط‪ٚ‬خی وس ثبال فسز ‪ 5‬اؾز چ‪ٛ٘ ٖٛ‬ؿ زاز‪ ٜ‬ای‪ٕ٘ int‬ی س‪ٛ‬ا٘س ٔمساض افكبض ثٍیطز‪ .‬حبِز زیٍط ضا سه‪ٛ‬ض و‪ٙ‬یس‪.‬اٌط قٕب ثر‪ٛ‬ا‪ٞ‬یس یه‬
‫ٔشغیط ضا و‪ ٝ‬زاضای ٔمساضی ثیكشط اظ ٔحس‪ٚ‬ز‪ٔ ٜ‬شغیط ٔمهس ‪ٞ‬ؿز سجسیُ و‪ٙ‬یس چ‪ ٝ‬اسفبلی ٔی افشس؟ ٔب٘‪ٙ‬س سجسیُ ظیط و‪ٔ ٝ‬ی‬
‫ذ‪ٛ‬ا‪ٞ‬یٓ ٔشغیط ‪ number1‬ضا و‪ ٝ‬زاضای ٔمساض ‪ 300‬اؾز ضا ث‪ٛ٘ ٝ‬ؿ ثبیز سجسیُ و‪ٙ‬یٓ و‪ٔ ٝ‬حس‪ٚ‬ز افساز ثیٗ‪ 0-255‬ضا د‪ٛ‬قف ٔی‬
‫ز‪ٞ‬س‪.‬‬

‫;‪int number1 = 300‬‬

‫;‪byte number2 = (byte)number1‬‬

‫;)‪Console.WriteLine("Value of number2 is {0}.", number2‬‬


‫‪Value of number2 is 44.‬‬

‫ذط‪ٚ‬خی وس ثبال فسز ‪ 44‬اؾز‪ Byte .‬فمظ ٔی س‪ٛ‬ا٘س قبُٔ افساز ‪ 0‬سب ‪ 255‬ثبقس ‪ٕ٘ ٚ‬ی س‪ٛ‬ا٘س ٔمساض ‪ 300‬ضا زض ذ‪ٛ‬ز شذیط‪ٜ‬‬
‫و‪ٙ‬س‪ .‬حبَ ٔی ذ‪ٛ‬ا‪ٞ‬یٓ ثجی‪ٙ‬یٓ و‪ ٝ‬چطا ث‪ ٝ‬خبی فسز ‪ٔ 300‬ب فسز ‪ 44‬ضا زض ذط‪ٚ‬خی ٔی ٌیطیٓ‪ .‬ایٗ وبض ث‪ ٝ‬سقساز ثیش‪ٟ‬ب ثؿشٍی‬
‫زاضز‪.‬یه ‪ byte‬زاضای ‪ 8‬ثیز اؾز زضحبِی و‪ int ٝ‬زاضای ‪ 32‬ثیز اؾز‪ .‬حبَ اٌط ث‪ٔ ٝ‬مساض ثبی‪ٙ‬طی ‪ 2‬فسز س‪ٛ‬خ‪ ٝ‬و‪ٙ‬یس ٔش‪ٛ‬خ‪ٔ ٝ‬ی‬
‫ق‪ٛ‬یس و‪ ٝ‬چطا ذط‪ٚ‬خی فسز‪ 44‬اؾز‪.‬‬

‫‪300 = 00000000000000000000000100101100‬‬
‫= ‪255‬‬ ‫‪11111111‬‬
‫= ‪44‬‬ ‫‪00101100‬‬

‫ذط‪ٚ‬خی ثبال ٘كبٖ ٔی ز‪ٞ‬س و‪ ٝ‬ثیكشطیٗ ٔمساض‪ byte‬و‪ ٝ‬فسز ‪ 255‬اؾز ٔی س‪ٛ‬ا٘س فمظ قبُٔ ‪ 8‬ثیز ثبقس )‪ (11111111‬ث‪ٙ‬بثطایٗ‬
‫فمظ ‪ 8‬ثیز ا‪ٔ َٚ‬مساض ‪ int‬ث‪ٔ ٝ‬شغیط ‪ byte‬ا٘شمبَ ٔی یبثس و‪ ٝ‬قبُٔ )‪ (00101100‬یب فسز ‪ 44‬زض ٔج‪ٙ‬بی ‪ 10‬اؾز‪ .‬لطاض ٘سازٖ یه‬
‫‪ٔ )overflow‬ی ق‪ٛ‬ز‪ .‬یه ٔ‪ٛ‬ضز آٖ ؾطضیع ضیبضی ٘بْ زاضز و‪ ٝ‬زض ٔثبَ‬
‫ٔمساض ٔ‪ٙ‬بؾت زض زاذُ یه ٔشغیط ثبفث ایدبز یه ؾطضیع (‬
‫ظیط ٔكب‪ٞ‬س‪ٔ ٜ‬ی و‪ٙ‬یس ‪:‬‬

‫;)‪byte sum = (byte)(150 + 150‬‬

‫ٌطچ‪ ٝ‬زض ایٗ سجسیُ ٔب زاز‪ٞ ٜ‬بیی ضا اظ زؾز ٔی ز‪ٞ‬یٕبٔب وبٔذبیّط وس ٔبض ضا لج‪ٔ َٛ‬ی و‪ٙ‬س‪ .‬ثطای ای‪ٙ‬ى‪ ٝ‬ثط٘بٔ‪ٍٙٞ ٝ‬بْ ‪ٚ‬ل‪ٛ‬ؿ ؾطضیع‬
‫دیغبْ ذغب ثس‪ٞ‬س ٔی س‪ٛ‬اٖ اظ وّٕ‪ ٝ‬وّیسی‪ checked‬اؾشفبز‪ ٜ‬وطز‪.‬‬

‫;‪int number1 = 300‬‬

‫;)‪byte number2 = checked((byte)number1‬‬

‫)‪Console.WriteLine("Value of number2 is {0}.", number2‬‬


‫‪Unhandled Exception: System.OverflowException: Arithmetic operation resulted in an‬‬
‫‪overflow ...‬‬

‫ثط٘بٔ‪ ٝ‬دیغبْ ‪ System.OverflowException‬و‪ ٝ‬ث‪ ٝ‬ظثبٖ ؾبز‪٘ ٜ‬كبٖ ز‪ٙٞ‬س ‪ٚ‬ل‪ٛ‬ؿ ذغبؾز‪ .‬زض ٘شید‪ ٝ‬قٕب ٔی س‪ٛ‬ا٘یس اظ اخطای‬
‫ثط٘بٔ‪ ٝ‬خّ‪ٌٛ‬یطی و‪ٙ‬یس‪.‬‬

‫‪69‬‬
www.w3-farsi.com ‫یًَغ اتشاّیوی‬: ِ‫زالیف ٍ زشجو‬ ‫هثاًی صتاى ػی ؿاسج‬

Convert ‫زثذیل تا اػسفادُ اص والع‬

ٜ‫ؿ زیٍط اؾشفبز‬ٛ٘ ٝ‫فی ث‬ٛ٘ ‫اٖ اظ آٖ ثطای سجسیُ ٔمبزیط اظ‬ٛ‫ ٔی س‬ٝ‫ زاضای یه والؼ اؾشبسیه اؾز و‬.NET Framework
.‫ یىسیٍط ٔی ثبقس‬ٝ‫ ث‬ٜ‫اؿ زاز‬ٛ٘‫بیی ثطای سجسیُ ا‬ٞ‫ز زاضای ٔشس‬ٛ‫ ذ‬ٝ‫ث‬ٛ٘ ٝ‫ ایٗ والؼ ث‬.‫وطز‬

: ‫ ا٘س‬ٜ‫ب شوط قس‬ٞ‫َ ظیط ٔشس‬ٚ‫زض خس‬

‫ض‬ٛ‫زؾش‬ ٝ‫٘شید‬
Convert.ToBoolean(val) ‫ز‬ٛ‫ سجسیُ ٔی ق‬bool ٝ‫ ث‬val
Convert.ToByte(val) ‫ز‬ٛ‫ سجسیُ ٔی ق‬byte ٝ‫ ث‬val
Convert.ToChar(val) ‫ز‬ٛ‫ سجسیُ ٔی ق‬char ٝ‫ ث‬val
Convert.ToDecimal(val) ‫ز‬ٛ‫ سجسیُ ٔی ق‬decimal ٝ‫ ث‬val
Convert.ToDouble(val) ‫ز‬ٛ‫ سجسیُ ٔی ق‬double ٝ‫ ث‬val
Convert.ToInt16(val) ‫ز‬ٛ‫ سجسیُ ٔی ق‬short ٝ‫ ث‬val
Convert.ToInt32(val) ‫ز‬ٛ‫ سجسیُ ٔی ق‬int ٝ‫ ث‬val
Convert.ToInt64(val) ‫ز‬ٛ‫ سجسیُ ٔی ق‬long ٝ‫ ث‬val
Convert.ToSByte(val) ‫ز‬ٛ‫ سجسیُ ٔی ق‬ushort ٝ‫ ث‬val
Convert.ToSingle(val) ‫ز‬ٛ‫ سجسیُ ٔی ق‬float ٝ‫ ث‬val
Convert.ToString(val) ‫ز‬ٛ‫ سجسیُ ٔی ق‬string ٝ‫ ث‬val
Convert.ToUInt16(val) ‫ز‬ٛ‫ سجسیُ ٔی ق‬ushort ٝ‫ ث‬val
Convert.ToUInt32(val) ‫ز‬ٛ‫ سجسیُ ٔی ق‬uint ٝ‫ ث‬val
Convert.ToUInt64(val) ‫ز‬ٛ‫ سجسیُ ٔی ق‬ulong ٝ‫ ث‬val

: ‫ اؾز‬ٜ‫ قس‬ٜ‫بی آٖ ٕ٘بیف زاز‬ٞ‫ ٔشس‬ٚ Convert‫ اظ والؼ‬ٜ‫ب ثب اؾشفبز‬ٞ ‫ اظ سجسَ ٔشغیط‬ٕٝ٘ٛ٘ ‫ ظیط یه‬ٝٔ‫زض ثط٘ب‬

double x = 9.99;
int convertedValue = Convert.ToInt32(x);

Console.WriteLine("Original value is: " + x);


Console.WriteLine("Converted value is: " + convertedValue);

Original value is: 9.99


Converted value is: 10

70
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫ٔمساض ‪ٞ val‬ط ٘‪ٛ‬ؿ زاز‪ ٜ‬ای ٔی س‪ٛ‬ا٘س ثبقس‪ ،‬أب ثبیس ٔغٕئٗ قس و‪ ٝ‬ث‪ٛ٘ ٝ‬ؿ زاز‪ ٜ‬ای ٔ‪ٛ‬ضز ٘ؾط سجسیُ ق‪ٛ‬ز‪.‬‬

‫ػثاساذ ٍ ػولگشّا‬

‫اثشسا ثب ز‪ ٚ‬وّٕ‪ ٝ‬آق‪ٙ‬ب ق‪ٛ‬یس ‪:‬‬

‫فٍّٕط ‪ٕ٘ :‬بز‪ٞ‬بیی ‪ٞ‬ؿش‪ٙ‬س و‪ ٝ‬افٕبَ ذبل ا٘دبْ ٔی ز‪ٙٞ‬س‪.‬‬

‫فّٕ‪٘ٛ‬س ‪ٔ :‬مبزیطی و‪ ٝ‬فٍّٕط‪ٞ‬ب ثط ض‪ٚ‬ی آ٘‪ٟ‬ب فّٕی ا٘دبْ ٔی ز‪ٙٞ‬س‪.‬‬

‫ٔثال ‪ :X+Y‬یه فجبضر اؾز و‪ ٝ‬زض آٖ‪ Y ٚ X‬فّٕ‪٘ٛ‬س ‪ ٚ‬فالٔز ‪ +‬فٍّٕط ث‪ ٝ‬حؿبة ٔی آی‪ٙ‬س‪.‬‬

‫ظثب٘‪ٟ‬بی ثط٘بٔ‪ٛ٘ ٝ‬یؿی خسیس زاضای فٍّٕط‪ٞ‬بیی ‪ٞ‬ؿش‪ٙ‬س و‪ ٝ‬اظ اخعاء ٔقٕ‪ َٛ‬ظثبٖ ث‪ ٝ‬حؿبة ٔی آی‪ٙ‬س‪ .‬ؾی قبضح زاضای فٍّٕط‪ٞ‬بی‬
‫ٔرشّفی اظ خّٕ‪ ٝ‬فٍّٕط‪ٞ‬بی ضیبضی ‪،‬سرهیهی ‪ٔ ،‬مبیؿ‪ ٝ‬ای ‪ٙٔ ،‬غمی ‪ ٚ‬ثیشی ٔی ثبقس‪ .‬اظ فٍّٕط‪ٞ‬بی ؾبز‪ ٜ‬ضیبضی ٔی س‪ٛ‬اٖ ث‪ٝ‬‬
‫فٍّٕط خٕـ ‪ ٚ‬سفطیك اقبض‪ ٜ‬وطز‪.‬‬

‫ؾ‪ٛ٘ ٝ‬ؿ فٍّٕط زض ؾی قبضح ‪ٚ‬خ‪ٛ‬ز زاضز ‪:‬‬

‫(‪ –)Unary‬ث‪ ٝ‬یه فّٕ‪٘ٛ‬س ٘یبظ زاضز‬ ‫یٍب٘ی‬

‫ث‪ ٝ‬ز‪ ٚ‬فّٕ‪٘ٛ‬س ٘یبظ زاضز‬ ‫ز‪ٚ‬ز‪ٚ‬یی(‪– )Binary‬‬

‫ؾ‪ ٝ‬سبیی (‪ –)Ternary‬ث‪ ٝ‬ؾ‪ ٝ‬فّٕ‪٘ٛ‬س ٘یبظ زاضز‬

‫ا٘‪ٛ‬اؿ ٔرشّف فٍّٕط و‪ ٝ‬زض ایٗ ثرف ٔ‪ٛ‬ضز ثحث لطاض ٔی ٌیط٘س فجبضس‪ٙ‬س اظ ‪:‬‬

‫فٍّٕط‪ٞ‬بی ضیبضی‬

‫فٍّٕط‪ٞ‬بی سرهیهی‬

‫فٍّٕط‪ٞ‬بی ٔمبیؿ‪ ٝ‬ای‬

‫‪71‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫فٍّٕط‪ٞ‬بی ٔ‪ٙ‬غمی‬

‫فٍّٕط‪ٞ‬بی ثیشی‬

‫ػولگشّای سیاضی‬

‫ؾی قبضح اظ فٍّٕط‪ٞ‬بی ضیبضی ثطای ا٘دبْ ٔحبؾجبر اؾشفبز‪ٔ ٜ‬ی و‪ٙ‬س‪ .‬خس‪ َٚ‬ظیط فٍّٕط‪ٞ‬بی ضیبضی ؾی قبضح ضا ٘كبٖ ٔی‬
‫ز‪ٞ‬س ‪:‬‬

‫فٍّٕط‬ ‫زؾش‪ٝ‬‬ ‫ٔثبَ‬ ‫٘شید‪ٝ‬‬

‫‪+‬‬ ‫;‪Binary var1 = var2 + var3‬‬ ‫‪ Var1‬ثطاثط اؾز ثب حبنُ خٕـ ‪var3ٚ var2‬‬

‫‪-‬‬ ‫;‪Binary var1 = var2 – var3‬‬ ‫‪ Var1‬ثطاثط اؾز ثب حبنُ سفطیك ‪var3ٚ var2‬‬

‫*‬ ‫;‪Binary var1 = var2 * var3‬‬ ‫‪ Var1‬ثطاثط اؾز ثب حبنّضطة ‪ var2‬زض ‪var3‬‬

‫‪/‬‬ ‫;‪Binary var1 = var2 / var3‬‬ ‫‪ Var1‬ثطاثط اؾز ثب حبنُ سمؿیٓ ‪ var2‬ثط‪var3‬‬

‫‪%‬‬ ‫‪ Var1‬ثطاثط اؾز ثب ثبلیٕب٘س‪ ٜ‬سمؿیٓ ‪Binary var1 = var2 % var3; var3ٚ var2‬‬
‫‪+‬‬ ‫;‪Unary var1 = +var2‬‬ ‫‪ Var1‬ثطاثط اؾز ثب ٔمساض‪var2‬‬

‫‪- Unary‬‬ ‫‪var1 = -var2‬‬ ‫‪ Var1‬ثطاثط اؾز ثب ٔمساض ‪ var2‬ضطثسض ‪-1‬‬

‫ٔثبَ ثبال زض اظ ٘‪ٛ‬ؿ فسزی اؾشفبز‪ ٜ‬قس‪ ٜ‬اؾز‪ .‬أب اؾشفبز‪ ٜ‬اظ فٍّٕط‪ٞ‬بی ضیبضی ثطای ٘‪ٛ‬ؿ ضقش‪ ٝ‬ای ٘شید‪ٔ ٝ‬شفب‪ٚ‬سی زاضز‪ٕٞ.‬چ‪ٙ‬یٗ‬
‫زض خٕـ ز‪ ٚ‬وبضاوشط وبٔذبیّط ٔقبزَ فسزی آ٘‪ٟ‬ب ضا ٘كبٖ ٔی ز‪ٞ‬س‪ .‬اٌط اظ فٍّٕط ‪ +‬ثطای ضقش‪ٞ ٝ‬ب اؾشفبز‪ ٜ‬و‪ٙ‬یٓ ز‪ ٚ‬ضقش‪ ٝ‬ضا ثب ‪ٓٞ‬‬
‫سطویت وطز‪ ٚ ٜ‬ث‪ٔ ٓٞ ٝ‬ی چؿجب٘س‪ .‬زیٍط فٍّٕط‪ٞ‬بی ؾی قبضح فٍّٕط‪ٞ‬بی وب‪ٞ‬ف ‪ ٚ‬افعایف ‪ٞ‬ؿش‪ٙ‬س‪.‬ایٗ فٍّٕط‪ٞ‬ب ٔمساض ‪ 1‬ضا اظ‬
‫ٔشغیط ‪ٞ‬ب وٓ یب ث‪ ٝ‬آ٘‪ٟ‬ب اضبف‪ٔ ٝ‬ی و‪ٙٙ‬س‪ .‬اظ ایٗ ٔشغیط ‪ٞ‬ب اغّت زض حّم‪ٞ ٝ‬ب اؾشفبز‪ٔ ٜ‬ی ق‪ٛ‬ز ‪:‬‬

‫فٍّٕط‬ ‫زؾش‪ٝ‬‬ ‫ٔثبَ‬ ‫٘شید‪ٝ‬‬


‫ٔمساض ‪ var1‬ثطاثط اؾز ثب ‪ var2‬ثقال‪1 ٜٚ‬‬
‫‪++‬‬ ‫;‪Unary var1 = ++var2‬‬
‫ٔشغیط ‪ var2‬یه ‪ٚ‬احس اضبف‪ٔ ٝ‬ی ق‪ٛ‬ز‬
‫ٔمساض ‪ var1‬ثطاثط اؾز ثب ‪ٟٙٔ var2‬بی ‪1‬‬
‫‪--‬‬ ‫;‪Unary var1 = --var2‬‬
‫ٔشغیط ‪ var2‬یه ‪ٚ‬احس وٓ ٔی ق‪ٛ‬ز‪.‬‬

‫‪72‬‬
www.w3-farsi.com ‫یًَغ اتشاّیوی‬: ِ‫زالیف ٍ زشجو‬ ‫هثاًی صتاى ػی ؿاسج‬

‫فٍّٕط‬ ٝ‫زؾش‬ َ‫ٔثب‬ ٝ‫٘شید‬


var2 ‫ ثطاثط اؾز ثب‬var1 ‫ٔمساض‬
++ Unary var1 = var2++;
‫ز‬ٛ‫ ٔی ق‬ٝ‫احس اضبف‬ٚ ‫ یه‬var2 ‫ ٔشغیط‬ٝ‫ث‬
var2 ‫ ثطاثط اؾز ثب‬var1 ‫ٔمساض‬
-- Unary var1 = var2--;
‫ز‬ٛ‫احس وٓ ٔی ق‬ٚ ‫ یه‬var2 ‫اظ ٔشغیط‬

‫ ثیبیس‬var2 ‫اٌط فٍّٕط لجُ اظ ٔشغیط‬.‫ ٔحبؾجبر سبثیط زاضز‬ٝ‫ ٔحُ لطاض ٌیطی فٍّٕط زض ٘شید‬ٝ‫ ثبقیس و‬ٝ‫ زاقش‬ٝ‫خ‬ٛ‫ س‬ٝ‫ ایٗ ٘ىش‬ٝ‫ث‬
‫ ثطاثط‬var1 ‫ لطاض ثٍیط٘س اثشسا‬var2‫ب ثقس اظ ٔشغیط‬ٞ‫ فٍّٕط‬ٝ‫ب٘چ‬ٙ‫چ‬.‫س‬ٙ‫ سغییط ٕ٘ی و‬var2 ٚ ‫ اسفبق ٔی افشس‬var1 ‫ف‬ٞ‫افعایف یب وب‬
: ‫یس‬ٙ‫ و‬ٝ‫خ‬ٛ‫بی ظیط س‬ٞ َ‫ ٔثب‬ٝ‫ ث‬.‫ف ٔی یبثس‬ٞ‫ افعایف یب وب‬var2‫ ؾذؽ ٔشغیط‬ٚ ‫ز‬ٛ‫ ٔی ق‬var2

using System;

namespace ConsoleApplication5
{
class Program
{
static void Main(string[] args)
{
int x = 0;
int y = 1;

x = ++y;

Console.WriteLine("x= {0}",x);
Console.WriteLine("y= {0}", y);
Console.ReadLine();
}
}
}
x=2
y=2

using System;

using System;

namespace ConsoleApplication5
{
class Program
{
static void Main(string[] args)
{
int x = 0;
int y = 1;

73
www.w3-farsi.com ‫یًَغ اتشاّیوی‬: ِ‫زالیف ٍ زشجو‬ ‫هثاًی صتاى ػی ؿاسج‬

x = --y;

Console.WriteLine("x= {0}",x);
Console.WriteLine("y= {0}", y);
Console.ReadLine();
}
}
}
x=0
y=0

y ‫احس اظ‬ٚ ‫ اثشسا یه‬ٝ‫ز و‬ٛ‫ ثبفث ٔی ق‬y ‫٘س‬ّٕٛ‫ لجُ اظ ف‬++ٚ -- ‫بی‬ٞ‫زضج فٍّٕط‬،‫یس‬ٙ‫ ٔی و‬ٜ‫س‬ٞ‫ ٔثبَ ثبال ٔكب‬ٚ‫ زض ز‬ٝ‫ض و‬ٛ‫ٕب٘غ‬ٞ
: ‫یس‬ٙ‫ و‬ٝ‫خ‬ٛ‫ ٔثبَ ظیط س‬ٚ‫ ز‬ٝ‫ حبَ ث‬.‫ لطاض ثٍیطز‬x‫٘س‬ّٕٛ‫ زض ف‬ٝ‫ ؾذؽ ٘شید‬ٚ ‫ز‬ٛ‫ ق‬ٝ‫ اضبف‬yٝ‫احس ث‬ٚ ‫ یب یه‬ٚ ٓ‫و‬

using System;

namespace ConsoleApplication5
{
class Program
{
static void Main(string[] args)
{
int x = 0;
int y = 1;

x = y--;

Console.WriteLine("x= {0}",x);
Console.WriteLine("y= {0}", y);
Console.ReadLine();
}
}
}
x=1
y=0

using System;

namespace ConsoleApplication5
{
class Program
{
static void Main(string[] args)
{
int x = 0;
int y = 1;

x = y++;

Console.WriteLine("x= {0}",x);
Console.WriteLine("y= {0}", y);

74
www.w3-farsi.com ‫یًَغ اتشاّیوی‬: ِ‫زالیف ٍ زشجو‬ ‫هثاًی صتاى ػی ؿاسج‬

Console.ReadLine();
}
}
}
x=1
y=2

ُ‫ زض زاذ‬y‫ اثشسا ٔمساض‬ٝ‫ز و‬ٛ‫ ثبفث ٔی ق‬y‫٘س‬ّٕٛ‫ ثقس اظ ف‬++ٚ -- ‫بی‬ٞ‫زضج فٍّٕط‬،‫یس‬ٙ‫ ٔی و‬ٜ‫س‬ٞ‫ ٔثبَ ثبال ٔكب‬ٚ‫ زض ز‬ٝ‫ض و‬ٛ‫ٕب٘غ‬ٞ
.‫ز‬ٛ‫ ق‬ٝ‫ اٖ اضبف‬ٝ‫احس ث‬ٚ ‫ یب یه‬ٚ ٓ‫ و‬y‫احس اظ‬ٚ ‫ ؾذؽ یه‬ٚ ‫ لطاض ثٍیطز‬x ‫ٔشغیط‬

: ٓ‫بی ضیبضی زض ؾی قبضح ضا یبز ثٍیطی‬ٞ‫ فّٕىطز فٍّٕط‬ٜٛ‫ ٘ح‬ٝٔ‫ا٘یٓ ثب ایدبز یه ثط٘ب‬ٛ‫حبَ ٔی س‬

1 using System;
2
3 public class Program
4 {
5 public static void Main()
6 {
7 //Variable declarations
8 int num1, num2;
9 string msg1, msg2;
10
11 //Assign test values
12 num1 = 5;
13 num2 = 3;
14
15 //Demonstrate use of mathematical operators
16 Console.WriteLine("The sum of {0} and {1} is {2}.", num1, num2, (num1 +
17 num2));
18 Console.WriteLine("The difference of {0} and {1} is {2}.", num1, num2,
19 (num1 - num2));
20 Console.WriteLine("The product of {0} and {1} is {2}.", num1, num2,
21 (num1 * num2));
22 Console.WriteLine("The quotient of {0} and {1} is {2:F2}.", num1, num2,
23 ((double)num1 / num2));
24 Console.WriteLine("The remainder of {0} divided by {1} is {2}", num1, num2,
25 (num1 % num2));
26
27 //Demonstrate concatenation on strings using the + operator
28 msg1 = "Hello ";
29 msg2 = "World!";
30 Console.WriteLine(msg1 + msg2);
31 }
}
The sum of 5 and 3 is 8.
The difference of 5 and 3 is 2.
The product of 5 and 3 is 15.
The quotient of 5 and 3 is 1.67.
The remainder of 5 divided by 3 is 2
Hello World!

75
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫ثط٘بٔ‪ ٝ‬ثبال ٘شید‪ٞ ٝ‬ط فجبضر ضا ٘كبٖ ٔی ز‪ٞ‬س‪ .‬زض ایٗ ثط٘بٔ‪ ٝ‬اظ ٔشس )(‪ Writeline‬ثطای ٘كبٖ زازٖ ٘شبیح زض ؾغط‪ٞ‬بی ٔشف‪ٛ‬ر‬
‫اؾشفبز‪ ٜ‬قس‪ ٜ‬اؾز‪ .‬زض ایٗ ٔثبَ ثب یه ٘ىش‪ ٝ‬فدیت ٔ‪ٛ‬اخ‪ٔ ٝ‬ی ق‪ٛ‬یٓ ‪ ٚ‬آٖ حبنُ سمؿیٓ ز‪ ٚ‬فسز نحیح اؾز‪ٚ.‬لشی و‪ ٝ‬ز‪ ٚ‬فسز‬
‫نحیح ضا ثط ‪ ٓٞ‬سمؿیٓ و‪ٙ‬یٓ حبنُ ثبیس یه فسز نحیح ‪ ٚ‬فبلس ثرف وؿطی ثبقس‪ .‬أب ‪ٕٞ‬ب٘غ‪ٛ‬ض و‪ٔ ٝ‬كب‪ٞ‬س‪ٔ ٜ‬ی و‪ٙ‬یس اٌط فمظ‬
‫یىی اظ افساز ضا ث‪ٛ٘ ٝ‬ؿ افكبضی‪ double‬سجسیُ و‪ٙ‬یٓ (زض ٔثبَ ٔی ثی‪ٙ‬یس) حبنُ ث‪ ٝ‬ن‪ٛ‬ضر افكبض ٘كبٖ زاز‪ٔ ٜ‬ی ق‪ٛ‬ز‪.‬‬

‫ثطای ای‪ٙ‬ى‪ ٝ‬اضلبْ وؿطی ثقس اظ فسز حبنُ ز‪ ٚ‬ضلٓ ثبق‪ٙ‬س اظ }‪ {2:F2‬اؾشفبز‪ٔ ٜ‬ی و‪ٙ‬یٓ‪ F .‬ث‪ٔ ٝ‬ق‪ٙ‬بی سقییٗ وطزٖ ٔی ثبقس ‪ ٚ‬زض‬
‫ایٗ خب ثسیٗ ٔق‪ٙ‬بؾز و‪ ٝ‬فسز ضا سب ز‪ ٚ‬ضلٓ افكبض ٕ٘بیف ثس‪ .ٜ‬چ‪ ٖٛ‬ذغ‪ٛ‬ط وس ع‪ٛ‬ال٘ی ‪ٞ‬ؿش‪ٙ‬س آ٘‪ٟ‬ب ضا زض ز‪ ٚ‬ذظ ٔی ٘‪ٛ‬یؿیٓ‪ .‬ؾی‬
‫قبضح ذظ خسیس ‪ ٚ‬فبنّ‪ ٚ ٝ‬فضبی ذبِی ضا ٘بزیس‪ٔ ٜ‬ی ٌیطز‪.‬‬

‫زض ذظ ‪ٔ 29‬كب‪ٞ‬س‪ٔ ٜ‬ی و‪ٙ‬یس و‪ ٝ‬ز‪ ٚ‬ضقش‪ ٝ‬ث‪ٚ ٝ‬ؾیّ‪ ٝ‬فٍّٕط ‪ +‬ث‪ٔ ٓٞ ٝ‬شهُ قس‪ ٜ‬ا٘س‪٘ .‬شید‪ ٝ‬اؾشفبز‪ ٜ‬اظ فٍّٕط ‪ +‬ثطای چؿجب٘سٖ ز‪ٚ‬‬
‫وّٕ‪ “World!” ٚ “Hello “ ٝ‬ضقش‪ “Hello World!” ٝ‬ذ‪ٛ‬ا‪ٞ‬س ث‪ٛ‬ز‪ .‬ث‪ ٝ‬فبنّ‪ٞ ٝ‬بی ذبِی ثقس اظ ا‪ِٚ‬یٗ وّٕ‪ ٝ‬س‪ٛ‬خ‪ ٝ‬و‪ٙ‬یس اٌط آ٘‪ٟ‬ب‬
‫ضا حصف و‪ٙ‬یس اظ ذط‪ٚ‬خی ثط٘بٔ‪٘ ٝ‬یع حصف ٔی ق‪٘ٛ‬س‪.‬‬

‫ػولگشّای زخصیصی ( جایگضیٌی)‬

‫٘‪ٛ‬ؿ زیٍط اظ فٍّٕط‪ٞ‬بی ؾی قبضح فٍّٕط‪ٞ‬بی خبیٍعی‪ٙ‬ی ٘بْ زاض٘س‪ .‬ایٗ فٍّٕط‪ٞ‬ب ٔمساض ٔشغیط ؾٕز ضاؾز ذ‪ٛ‬ز ضا زض ٔشغیط ؾٕز‬
‫چخ لطاض ٔی ز‪ٙٞ‬س‪ .‬خس‪ َٚ‬ظیط ا٘‪ٛ‬اؿ فٍّٕط‪ٞ‬بی سرهیهی زض ؾی قبضح ضا ٘كبٖ ٔی ز‪ٞ‬س‪:‬‬

‫فٍّٕط‬ ‫ٔثبَ‬ ‫٘شید‪ٝ‬‬

‫=‬ ‫;‪var1 = var2‬‬ ‫ٔمساض ‪ var1‬ثب اؾز ثب ٔمساض‪var2‬‬

‫=‪+‬‬ ‫;‪var1 += var2‬‬ ‫ٔمساض ‪ var1‬ثب اؾز ثب حبنُ خٕـ‪var2ٚ var1‬‬

‫=‪-‬‬ ‫;‪var1 -= var2‬‬ ‫ٔمساض ‪ var1‬ثب اؾز ثب حبنُ سفطیك‪var2ٚ var1‬‬

‫=*‬ ‫;‪var1 *= var2‬‬ ‫ٔمساض ‪ var1‬ثب اؾز ثب حبنُ ضطة‪ var1‬زض‪var2‬‬

‫=‪/‬‬ ‫;‪var1 /= var2‬‬ ‫ٔمساض ‪ var1‬ثب اؾز ثب حبنُ سمؿیٓ‪ var1‬ثط‪var2‬‬

‫=‪%‬‬ ‫ٔمساض ‪ var1‬ثب اؾز ثب ثبلیٕب٘س‪ ٜ‬سمؿیٓ‪ var1‬ثط‪var1 %= var2; var2‬‬

‫اظ فٍّٕط =‪ +‬ثطای اسهبَ ز‪ ٚ‬ضقش‪٘ ٝ‬یع ٔی س‪ٛ‬اٖ اؾشفبز‪ ٜ‬وطز‪ .‬اؾشفبز‪ ٜ‬اظ ایٗ ٘‪ٛ‬ؿ فٍّٕط‪ٞ‬ب زض ‪ٚ‬الـ یه ٘‪ٛ‬ؿ ذالن‪ٛ٘ ٝ‬یؿی زض وس‬
‫اؾز‪ٔ .‬ثال قىُ انّی وس ‪ var1 += var2‬ث‪ ٝ‬ن‪ٛ‬ضر ‪ٔ var1 = var1 + var2‬ی ثبقس‪ .‬ایٗ حبِز وس٘‪ٛ‬یؿی ظٔب٘ی وبضایی ذ‪ٛ‬ز‬
‫ضا ٘كبٖ ٔی ز‪ٞ‬س و‪٘ ٝ‬بْ ٔشغیط‪ٞ‬ب ع‪ٛ‬ال٘ی ثبقس‪ .‬ثط٘بٔ‪ ٝ‬ظیط چٍ‪ٍ٘ٛ‬ی اؾشفبز‪ ٜ‬اظ فٍّٕط‪ٞ‬بی سرهیهی ‪ ٚ‬سبثیط آ٘‪ٟ‬ب ضا ثط ٔشغیط ‪ٞ‬ب‬
‫٘كبٖ ٔی ز‪ٞ‬س‪.‬‬

‫‪76‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫;‪using System‬‬

‫‪public class Program‬‬


‫{‬
‫)(‪public static void Main‬‬
‫{‬
‫;‪int number‬‬

‫;)"‪Console.WriteLine("Assigning 10 to number...‬‬
‫;‪number = 10‬‬
‫;)‪Console.WriteLine("Number = {0}", number‬‬

‫;)"‪Console.WriteLine("Adding 10 to number...‬‬
‫;‪number += 10‬‬
‫;)‪Console.WriteLine("Number = {0}", number‬‬

‫;)"‪Console.WriteLine("Subtracting 10 from number...‬‬


‫;‪number -= 10‬‬
‫;)‪Console.WriteLine("Number = {0}", number‬‬
‫}‬
‫}‬
‫‪Assigning 10 to number...‬‬
‫‪Number = 10‬‬
‫‪Adding 10 to number...‬‬
‫‪Number = 20‬‬
‫‪Subtracting 10 from number...‬‬
‫‪Number = 10‬‬

‫زض ثط٘بٔ‪ ٝ‬اظ ‪ 3‬فٍّٕط سرهیهی اؾشفبز‪ ٜ‬قس‪ ٜ‬اؾز‪ .‬اثشسا یه ٔشغیط ‪ٔ ٚ‬مساض‪ 10‬ثب اؾشفبز‪ ٜ‬اظ فٍّٕط = ث‪ ٝ‬آٖ اذشهبل زاز‪ ٜ‬قس‪ٜ‬‬
‫اؾز‪ .‬ؾذؽ ث‪ ٝ‬آٖ ثب اؾشفبز‪ ٜ‬اظ فٍّٕط =‪ٔ +‬مساض‪ 10‬اضبف‪ ٝ‬قس‪ ٜ‬اؾز‪ ٚ.‬زض آذط ث‪ٚ ٝ‬ؾیّ‪ ٝ‬فٍّٕط =‪ -‬فسز‪ 10‬اظ آٖ وٓ قس‪ ٜ‬اؾز‪.‬‬

‫ػولگشّای همایؼِ ای‬

‫ایٗ فٍّٕط‪ٞ‬ب اٌط‬


‫اظ فٍّٕط‪ٞ‬بی ٔمبیؿ‪ ٝ‬ای ثطای ٔمبیؿ‪ٔ ٝ‬مبزیط اؾشفبز‪ٔ ٜ‬ی ق‪ٛ‬ز‪٘ .‬شید‪ ٝ‬ایٗ ٔمبزیط یه ٔمساض ث‪ِٛ‬ی(ٔ‪ٙ‬غمی) اؾز‪.‬‬
‫٘شید‪ٔ ٝ‬مبیؿ‪ ٝ‬ز‪ٔ ٚ‬مساض زضؾز ثبقس ٔمساض‪ ٚ true‬اٌط ٘شید‪ٔ ٝ‬مبیؿ‪ ٝ‬قشجب‪ ٜ‬ثبقس ٔمساض ‪ false‬ضا ٘كبٖ ٔی ز‪ٙٞ‬س‪ .‬ایٗ فٍّٕط‪ٞ‬ب‬
‫ث‪ ٝ‬ع‪ٛ‬ض ٔقٕ‪ َٛ‬زض زؾش‪ٛ‬ضار قطعی ث‪ ٝ‬وبض ٔی ض‪٘ٚ‬س ث‪ ٝ‬ایٗ سطسیت و‪ ٝ‬ثبفث ازأ‪ ٝ‬یب س‪ٛ‬لف زؾش‪ٛ‬ض قطعی ٔی ق‪٘ٛ‬س‪ .‬خس‪ َٚ‬ظیط‬
‫فٍّٕط ‪ٞ‬بی ٔمبیؿ‪ ٝ‬ای زض ؾی قبضح ضا ٘كبٖ ٔی ز‪ٞ‬س‪:‬‬

‫فٍّٕط‬ ‫زؾش‪ٝ‬‬ ‫ٔثبَ‬ ‫٘شید‪ٝ‬‬


‫‪ var1‬زض ن‪ٛ‬ضسی ‪ true‬اؾز و‪ٔ ٝ‬مساض ‪ var2‬ثب ٔمساض ‪ var3‬ثطاثط ثبقس زض غیط‬
‫==‬ ‫‪Binary var1 = var2 == var3‬‬
‫ای‪ٙ‬ه‪ٛ‬ضر ‪ false‬اؾز‬
‫‪ var1‬زض ن‪ٛ‬ضسی ‪ true‬اؾز و‪ٔ ٝ‬مساض ‪ var2‬ثب ٔمساض ‪ var3‬ثطاثط ٘جبقس زض غیط‬
‫=!‬ ‫‪Binary var1 = var2 != var3‬‬
‫ای‪ٙ‬ه‪ٛ‬ضر ‪ false‬اؾز‬

‫‪77‬‬
www.w3-farsi.com ‫یًَغ اتشاّیوی‬: ِ‫زالیف ٍ زشجو‬ ‫هثاًی صتاى ػی ؿاسج‬

‫فٍّٕط‬ ٝ‫زؾش‬ َ‫ٔثب‬ ٝ‫٘شید‬


‫ ٔمساض ثبقس زض غیط‬var3 ‫چىشط اظ‬ٛ‫ و‬var2 ‫ ٔمساض‬ٝ‫ اؾز و‬true ‫ضسی‬ٛ‫ زض ن‬var1
< Binary var1 = var2 < var3
‫ اؾز‬false ‫ضر‬ٛ‫ه‬ٙ‫ای‬
‫ ثبقس زض غیط‬var3‫ ثعضٌشط اظٔمساض‬var2 ‫ ٔمساض‬ٝ‫ اؾز و‬true ‫ضسی‬ٛ‫ زض ن‬var1
> Binary var1 = var2 > var3
‫ اؾز‬false ‫ضر‬ٛ‫ه‬ٙ‫ای‬
‫ ثبقس‬var3 ‫ی ٔمساض‬ٚ‫چىشط یب ٔؿب‬ٛ‫ و‬var2 ‫ ٔمساض‬ٝ‫ اؾز و‬true ‫ضسی‬ٛ‫ زض ن‬var1
<= Binary var1 = var2 <= var3
‫ اؾز‬false ‫ضر‬ٛ‫ه‬ٙ‫زض غیط ای‬
‫ ٔمساض ثبقس‬var3 ‫ی‬ٚ‫ ثعضٌشط یب ٔؿب‬var2 ‫ ٔمساض‬ٝ‫ اؾز و‬true ‫ضسی‬ٛ‫ زض ن‬var1
>= Binary var1 = var2 >= var3
‫ اؾز‬false ‫ضر‬ٛ‫ه‬ٙ‫زض غیط ای‬

: ‫س‬ٞ‫ب ضا ٘كبٖ ٔی ز‬ٞ‫ فّٕىطز ای فٍّٕط‬ٜٛ‫ ظیط ٘ح‬ٝٔ‫ثط٘ب‬

using System;

namespace ComparisonOperators
{
class Program
{
static void Main()
{
int num1 = 10;
int num2 = 5;

Console.WriteLine("{0} == {1} : {2}", num1, num2, num1 == num2);


Console.WriteLine("{0} != {1} : {2}", num1, num2, num1 != num2);
Console.WriteLine("{0} < {1} : {2}", num1, num2, num1 < num2);
Console.WriteLine("{0} > {1} : {2}", num1, num2, num1 > num2);
Console.WriteLine("{0} <= {1} : {2}", num1, num2, num1 <= num2);
Console.WriteLine("{0} >= {1} : {2}", num1, num2, num1 >= num2);
}
}
}
10 == 5 : False
10 != 5 : True
10 < 5 : False
10 > 5 : True
10 <= 5 : False
10 >= 5 : True

‫ؾذؽ ثب‬.ٓ‫ی‬ٞ‫ب ٔمبزیطی اذشهبل ٔی ز‬ٟ٘‫ آ‬ٝ‫ ث‬ٚ ٜ‫یٓ ضا ایدبز وطز‬ٙ‫ و‬ٝ‫ٓ ٔمبیؿ‬ٞ ‫یٓ ثب‬ٞ‫ا‬ٛ‫ ٔی ذ‬ٝ‫ ٔشغیط ضا و‬ٚ‫زض ٔثبَ ثبال اثشسا ز‬
ٝ‫ٍبْ ٔمبیؿ‬ٙٞ ٝ‫یس و‬ٙ‫ و‬ٝ‫خ‬ٛ‫ س‬ٝ‫ ایٗ ٘ىش‬ٝ‫ ث‬.ٓ‫ی‬ٙ‫ ضا چبح ٔی و‬ٝ‫ ٘شید‬ٚ ٜ‫ وطز‬ٝ‫ٓ ٔمبیؿ‬ٞ ‫ب ضا ثب‬ٟ٘‫ ای آ‬ٝ‫ اظ یه فٍّٕط ٔمبیؿ‬ٜ‫اؾشفبز‬
.‫ز‬ٛ‫ ق‬ٜ‫ خبی فٍّٕط = ثبیس اؾشفبز‬ٝ‫ ٔشغیط اظ فٍّٕط == ث‬ٚ‫ز‬

78
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫فٍّٕط = فٍّٕط سرهیهی اؾز ‪ ٚ‬زض فجبضسی ٔب٘‪ٙ‬س‪ٔ x = y‬مساض ‪ y‬ضا زض ث‪ x ٝ‬اذشهبل ٔی ز‪ٞ‬س‪ .‬فٍّٕط == فٍّٕط ٔمبیؿ‪ ٝ‬ای‬
‫اؾز و‪ ٝ‬ز‪ٔ ٚ‬مساض ضا ثب ‪ٔ ٓٞ‬مبیؿ‪ٔ ٝ‬ی و‪ٙ‬س ٔب٘‪ٙ‬س‪ ٚ x==y‬ای‪ٙ‬غ‪ٛ‬ض ذ‪ٛ‬ا٘س‪ٔ ٜ‬ی ق‪ٛ‬ز‪ x‬ثطاثط اؾز ثب‪. y‬‬

‫ػولگشّای هٌطمی‬
‫فٍّٕط‪ٞ‬بی ٔ‪ٙ‬غمی ثط ض‪ٚ‬ی فجبضار ٔ‪ٙ‬غمی فُٕ ٔی و‪ٙٙ‬س ‪٘ ٚ‬شید‪ ٝ‬آ٘‪ٟ‬ب ٘یع یه ٔمساض ث‪ِٛ‬ی اؾز‪ .‬اظ ایٗ فٍّٕط‪ٞ‬ب اغّت ثطای‬
‫قطع‪ٟ‬بی دیچیس‪ ٜ‬اؾشفبز‪ٔ ٜ‬ی ق‪ٛ‬ز‪ٕٞ .‬ب٘غ‪ٛ‬ض و‪ ٝ‬لجال یبز ٌطفشیس ٔمبزیط ث‪ِٛ‬ی ٔی س‪ٛ‬ا٘‪ٙ‬س ‪ false‬یب ‪ true‬ثبق‪ٙ‬س‪ .‬فطو و‪ٙ‬یس و‪ٝ‬‬
‫‪ var3 ٚ var2‬ز‪ٔ ٚ‬مساض ث‪ِٛ‬ی ‪ٞ‬ؿش‪ٙ‬س‪.‬‬

‫فٍّٕط‬ ‫٘بْ‬ ‫زؾش‪ٝ‬‬ ‫ٔثبَ‬

‫;‪ٙٔ Binary var1 = var2 && var3‬غمی‪&& AND‬‬


‫||‬ ‫‪ٙٔ Binary‬غمی‪OR‬‬ ‫;‪var1 = var2 || var3‬‬
‫‪ٙٔ Unary‬غمی‪! NOT‬‬ ‫;‪var1 = !var1‬‬

‫ػولگش هٌطمی ‪)&&( AND‬‬

‫اٌط ٔمبزیط ز‪ ٚ‬عطف فٍّٕط ‪ true ، AND‬ثبق‪ٙ‬س فٍّٕط ‪ٔ AND‬مساض ‪ true‬ضا ثط ٔی ٌطزا٘س‪ .‬زض غیط ای‪ٙ‬ه‪ٛ‬ضر اٌط یىی اظ ٔمبزیط‬
‫یب ‪ٞ‬ط ز‪ٚ‬ی آ٘‪ٟ‬ب ‪ false‬ثبق‪ٙ‬س ٔمساض ‪ false‬ضا ثط ٔی ٌطزا٘س‪ .‬زض ظیط خس‪ َٚ‬زضؾشی فٍّٕط‪٘ AND‬كبٖ زاز‪ ٜ‬قس‪ ٜ‬اؾز ‪:‬‬

‫‪X‬‬ ‫‪Y X && Y‬‬


‫‪true‬‬ ‫‪true‬‬ ‫‪true‬‬
‫‪true‬‬ ‫‪false‬‬ ‫‪false‬‬
‫‪false‬‬ ‫‪true‬‬ ‫‪false‬‬
‫‪false‬‬ ‫‪false‬‬ ‫‪false‬‬

‫‪79‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫ثطای زضن ث‪ٟ‬شط سبثیط فٍّٕط ‪ AND‬یبز آ‪ٚ‬ضی ٔی و‪ ٓٙ‬و‪ ٝ‬ایٗ فٍّٕط فمظ زض ن‪ٛ‬ضسی ٔمساض ‪ true‬ضا ٘كبٖ ٔی ز‪ٞ‬س و‪ٞ ٝ‬ط ز‪ٚ‬‬
‫فّٕ‪٘ٛ‬س ٔمساضقبٖ ‪ true‬ثبقس‪ .‬زض غیط ای‪ٙ‬ه‪ٛ‬ضر ٘شید‪ ٝ‬سٕبْ سطویج‪ٟ‬بی ثقسی ‪ false‬ذ‪ٛ‬ا‪ٞ‬س قس‪ .‬اؾشفبز‪ ٜ‬اظ فٍّٕط ‪ٔ AND‬ب٘‪ٙ‬س‬
‫اؾشفبز‪ ٜ‬اظ فٍّٕط‪ٞ‬بی ٔمبیؿ‪ ٝ‬ای اؾز‪ .‬ث‪ ٝ‬ف‪ٛٙ‬اٖ ٔثبَ ٘شید‪ ٝ‬فجبضر ظیط زضؾز ( ‪ )true‬اؾز اٌط ؾٗ ( ‪ )age‬ثعضٌشط اظ ‪ٚ 18‬‬
‫‪ salary‬و‪ٛ‬چىشط اظ‪ 1000‬ثبقس‪.‬‬

‫;)‪result = (age > 18) && (salary < 1000‬‬

‫فٍّٕط ‪ AND‬ظٔب٘ی وبضأس اؾز و‪ٔ ٝ‬ب ثب ٔحس‪ٚ‬ز‪ ٜ‬ذبنی اظ افساز ؾط‪ ٚ‬وبض زاضیٓ‪ٔ .‬ثال فجبضر ‪ 10 <= x <= 100‬ثسیٗ ٔق‪ٙ‬ی‬
‫اؾز و‪ٔ x ٝ‬ی س‪ٛ‬ا٘س ٔمساضی قبُٔ افساز ‪ 10‬سب ‪ 100‬ضا ثٍیطز‪ .‬حبَ ثطای ا٘شربة افساز ذبضج اظ ایٗ ٔحس‪ٚ‬ز‪ٔ ٜ‬ی س‪ٛ‬اٖ اظ فٍّٕط‬
‫ٔ‪ٙ‬غمی ‪ AND‬ث‪ ٝ‬ن‪ٛ‬ضر ظیط اؾشفبز‪ ٜ‬وطز‪.‬‬

‫;)‪inRange = (number <= 10) && (number >= 100‬‬

‫ػولگش هٌطمی )||( ‪OR‬‬

‫اٌط یىی یب ‪ٞ‬ط ز‪ٔ ٚ‬مساض ز‪ ٚ‬عطف فٍّٕط ‪، OR‬زضؾز ( ‪ )true‬ثبقس‪،‬فٍّٕط ‪ٔ OR‬مساض ‪ true‬ضا ثط ٔی ٌطزا٘س‪ .‬خس‪ َٚ‬زضؾشی‬
‫فٍّٕط ‪ OR‬زض ظیط ٘كبٖ زاز‪ ٜ‬قس‪ ٜ‬اؾز ‪:‬‬

‫‪X‬‬ ‫‪Y X || Y‬‬


‫‪true true true‬‬
‫‪true false true‬‬
‫‪false true true‬‬
‫‪false false false‬‬

‫زض خس‪ َٚ‬ثبال ٔكب‪ٞ‬س‪ٔ ٜ‬ی و‪ٙ‬یس و‪ ٝ‬فٍّٕط ‪ OR‬زض ن‪ٛ‬ضسی ٔمساض ‪ false‬ضا ثط ٔیٍطزا٘س و‪ٔ ٝ‬مبزیط ز‪ ٚ‬عطف آٖ ‪ false‬ثبق‪ٙ‬س‪ .‬وس‬
‫ظیط ضا زض ٘ؾط ثٍیطیس‪٘ .‬شید‪ ٝ‬ایٗ وس زض ن‪ٛ‬ضسی زضؾز (‪ )true‬اؾز و‪ ٝ‬ضسج‪ٟ٘ ٝ‬بیی زا٘ف آٔ‪ٛ‬ظ (‪ ) finalGrade‬ثعضٌشط اظ ‪ 75‬یب یب‬
‫ٕ٘ط‪ٟ٘ ٜ‬بیی أشحبٖ آٖ‪ 100‬ثبقس‪.‬‬

‫;)‪isPassed = (finalGrade >= 75) || (finalExam == 100‬‬

‫ػولگش هٌطمی )!(‪NOT‬‬

‫ثطذالف ز‪ ٚ‬ادطاس‪ٛ‬ض ‪ AND ٚ OR‬فٍّٕط ٔ‪ٙ‬غمی ‪ NOT‬یه فٍّٕط یٍب٘ی اؾز ‪ ٚ‬فمظ ث‪ ٝ‬یه فّٕ‪٘ٛ‬س ٘یبظ زاضز‪ .‬ایٗ فٍّٕط یه‬
‫ٔمساض یب انغالح ث‪ِٛ‬ی ضا ٘فی ٔی و‪ٙ‬س‪ٔ .‬ثال اٌط فجبضر یب ٔمساض‪ true‬ثبقس آ٘طا ‪ ٚ false‬اٌط ‪ false‬ثبقس آ٘طا ‪ٔ true‬ی و‪ٙ‬س‬

‫خس‪ َٚ‬ظیط فّٕىطز ادطاس‪ٛ‬ض‪ NOT‬ضا ٘كبٖ ٔی ز‪ٞ‬س ‪:‬‬

‫‪80‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫‪X !X‬‬
‫‪true false‬‬
‫‪false true‬‬

‫٘شید‪ ٝ‬وس ظیط زض ن‪ٛ‬ضسی زضؾز اؾز و‪( ageٝ‬ؾٗ) ثعضٌشط یب ٔؿب‪ٚ‬ی‪٘ 18‬جبقس‪.‬‬

‫;)‪isMinor = !(age >= 18‬‬

‫ػولگشّای تیسی‬

‫فٍّٕط‪ٞ‬بی ثیشی ث‪ ٝ‬قٕب اخبظ‪ٔ ٜ‬ی ز‪ٙٞ‬س و‪ ٝ‬قىُ ثبی‪ٙ‬طی ا٘‪ٛ‬اؿ زاز‪ٞ ٜ‬ب ضا زؾشىبضی و‪ٙ‬یس‪ .‬ثطای زضن ث‪ٟ‬شط ایٗ زضؼ س‪ٛ‬نی‪ٔ ٝ‬ی‬
‫ق‪ٛ‬ز و‪ ٝ‬قٕب ؾیؿشٓ ثبی‪ٙ‬طی ‪٘ ٚ‬ح‪ ٜٛ‬سجسیُ افساز افكبضی ث‪ ٝ‬ثبی‪ٙ‬طی ضا یبز ثٍیطیس‪.‬زض ؾیؿشٓ ثبی‪ٙ‬طی (ز‪ٚ‬ز‪ٚ‬یی) و‪ ٝ‬وبٔذی‪ٛ‬سط اظ آٖ‬
‫اؾشفبز‪ٔ ٜ‬ی و‪ٙ‬س ‪ٚ‬ضقیز ‪ٞ‬ط چیع یب ذبٔ‪ٛ‬ـ اؾز یب ض‪ٚ‬قٗ‪ .‬ثطای ٘كبٖ زازٖ حبِز ض‪ٚ‬قٗ اظ فسز ‪ ٚ 1‬ثطای ٘كبٖ زازٖ حبِز‬
‫ذبٔ‪ٛ‬ـ اظ فسز ‪ 0‬اؾشفبز‪ٔ ٜ‬ی ق‪ٛ‬ز‪ .‬ث‪ٙ‬بثطایٗ افساز ثبی‪ٙ‬طی فمظ ٔی س‪ٛ‬ا٘‪ٙ‬س نفط یب یه ثبق‪ٙ‬س‪.‬افساز ثبی‪ٙ‬طی ضا افساز زض ٔج‪ٙ‬بی‪ٚ 2‬‬
‫‪8‬‬
‫ز‪ٙٞ‬س‪ ٜ‬ثیز اؾز‪.‬‬ ‫افساز افكبضی ضا افساز زض ٔج‪ٙ‬بی‪ٔ 10‬ی ٌ‪ٛ‬ی‪ٙ‬س‪ .‬یه ثیز ٘كبٖ ز‪ٙٞ‬س‪ ٜ‬یه ضلٓ ثبی‪ٙ‬طی اؾز ‪ٞ ٚ‬ط ثبیز ٘كبٖ‬
‫ث‪ ٝ‬ف‪ٛٙ‬اٖ ٔثبَ ثطای یه زاز‪ ٜ‬اظ ٘‪ٛ‬ؿ ‪ int‬ث‪ 32 ٝ‬ثیز یب ‪ 8‬ثبیز فضب ثطای شذیط‪ ٜ‬آٖ ٘یبظ زاضیٓ‪،‬ایٗ ثسیٗ ٔق‪ٙ‬بؾز و‪ ٝ‬افساز اظ‪32‬‬
‫ضلٓ ‪ 1 ٚ 0‬ثطای شذیط‪ ٜ‬اؾشفبز‪ٔ ٜ‬ی و‪ٙٙ‬س‪ .‬ثطای ٔثبَ فسز‪ٚ 100‬لشی ث‪ ٝ‬ف‪ٛٙ‬اٖ یه ٔشغیط اظ ٘‪ٛ‬ؿ‪ int‬شذیط‪ٔ ٜ‬ی ق‪ٛ‬ز زض وبٔذی‪ٛ‬سط‬
‫ث‪ ٝ‬ن‪ٛ‬ضر ظیط ذ‪ٛ‬ا٘س‪ٔ ٜ‬ی ق‪ٛ‬ز ‪:‬‬

‫‪000000000000000000000000000001100100‬‬

‫فسز ‪ 100‬زض ٔج‪ٙ‬بی ز‪ٔ ٜ‬قبزَ فسز‪ 1100100‬زض ٔج‪ٙ‬بی ‪ 2‬اؾز‪.‬زض ای‪ٙ‬دب ‪ 7‬ضلٓ ؾٕز ضاؾز ٘كبٖ ز‪ٙٞ‬س‪ ٜ‬فسز‪ 100‬زض ٔج‪ٙ‬بی ‪2‬‬
‫اؾز ‪ٔ ٚ‬بثمی نفط‪ٞ‬بی ؾٕز ضاؾز ثطای دط وطزٖ ثیش‪ٟ‬بیی اؾز و‪ ٝ‬فسز اظ ٘‪ٛ‬ؿ ‪٘ int‬یبظ زاضز‪ .‬ث‪ ٝ‬ایٗ ٘ىش‪ ٝ‬س‪ٛ‬خ‪ ٝ‬و‪ٙ‬یس و‪ ٝ‬افساز‬
‫ثبی‪ٙ‬طی اظ ؾٕز ضاؾز ث‪ ٝ‬چخ ذ‪ٛ‬ا٘س‪ٔ ٜ‬ی ق‪٘ٛ‬س‪ .‬فٍّٕط‪ٞ‬بی ثیشی ؾی قبضح زض خس‪ َٚ‬ظیط ٘كبٖ زاز‪ ٜ‬قس‪ ٜ‬ا٘س ‪:‬‬

‫فٍّٕط‬ ‫٘بْ‬ ‫زؾش‪ٝ‬‬ ‫ٔثبَ‬

‫&‬ ‫;‪ Binary x = y & z‬ثیشی‪AND‬‬

‫|‬ ‫;‪ Binary x = y | z‬ثیشی‪OR‬‬

‫^‬ ‫;‪ Binary x = y ^ z‬ثیشی‪XOR‬‬

‫~‬ ‫‪ Unary‬ثیشی‪NOT‬‬ ‫;‪x = ~y‬‬


‫‪ Binary‬ثیشی‪&= AND Assignment‬‬ ‫;‪x &= y‬‬

‫‪81‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫فٍّٕط‬ ‫٘بْ‬ ‫زؾش‪ٝ‬‬ ‫ٔثبَ‬

‫=|‬ ‫‪ Binary‬ثیشی‪OR Assignment‬‬ ‫;‪x |= y‬‬


‫‪ Binary‬ثیشی‪^= XOR Assignment‬‬ ‫;‪x ^= y‬‬

‫ػولگش تیسی ‪) &( AND‬‬

‫فٍّٕط ثیشی ‪ٔ AND‬ب٘‪ٙ‬س وبضی قجی‪ ٝ‬فٍّٕط ٔ‪ٙ‬غمی ‪ AND‬ا٘دبْ ٔی ز‪ٞ‬س ثب ایٗ سفب‪ٚ‬ر و‪ ٝ‬ایٗ فٍّٕط ثط ض‪ٚ‬ی ثیش‪ٟ‬ب وبض ٔی‬
‫و‪ٙ‬س‪.‬اٌط ٔمبزیط ز‪ ٚ‬عطف آٖ ‪ 1‬ثبقس ٔمساض ‪ 1‬ضا ثط ٔی ٌطزا٘س ‪ ٚ‬اٌط یىی یب ‪ٞ‬ط ز‪ ٚ‬عطف آٖ نفط ثبقس ٔمساض نفط ضا ثط ٔی ٌطزا٘س‪.‬‬
‫خس‪ َٚ‬زضؾشی فٍٕط ثیشی‪ AND‬زض ظیط آٔس‪ ٜ‬اؾز‪:‬‬

‫‪X Y X AND Y‬‬


‫‪1 1‬‬ ‫‪1‬‬
‫‪1 0‬‬ ‫‪0‬‬
‫‪0 1‬‬ ‫‪0‬‬
‫‪0 0‬‬ ‫‪0‬‬

‫زض ظیط ٘ح‪ ٜٛ‬اؾشفبز‪ ٜ‬اظ فٍّٕط ثیشی‪ AND‬آٔس‪ ٜ‬اؾز ‪:‬‬

‫;‪int result = 5 & 3‬‬

‫;)‪Console.WriteLine(result‬‬
‫‪1‬‬

‫‪ٕٞ‬ب٘غ‪ٛ‬ض و‪ ٝ‬زض ٔثبَ ثبال ٔكب‪ٞ‬س‪ٔ ٜ‬ی و‪ٙ‬یس ٘شید‪ ٝ‬فّٕىطز فٍّٕط‪ AND‬ثط ض‪ٚ‬ی ز‪ٔ ٚ‬مساض ‪ 3 ٚ 5‬فسز یه ٔی ق‪ٛ‬ز‪.‬اخبظ‪ ٜ‬ثس‪ٞ‬یس‬
‫ثجی‪ٙ‬یٓ و‪ ٝ‬چغ‪ٛ‬ض ایٗ ٘شید‪ ٝ‬ضا ث‪ ٝ‬زؾز ٔی آیس‪:‬‬

‫‪5: 00000000000000000000000000000101‬‬
‫‪3: 00000000000000000000000000000011‬‬
‫‪------------------------------------‬‬
‫‪1: 00000000000000000000000000000001‬‬

‫اثشسا ز‪ ٚ‬فسز ‪ 3 ٚ 5‬ث‪ٔ ٝ‬قبزَ ثبی‪ٙ‬طی قبٖ سجسیُ ٔی ق‪٘ٛ‬س‪ .‬اظ آ٘دبییى‪ٞ ٝ‬ط فسز نحیح ( ‪ 32 )int‬ثیز اؾز اظ نفط ثطای دط‬
‫‪ٔ AND‬ی س‪ٛ‬اٖ ف‪ٕٟ‬یس و‪ ٝ‬چطا ٘شید‪ ٝ‬فسز یه ٔی‬
‫وطزٖ ثیش‪ٟ‬بی ذبِی اؾشفبز‪ٔ ٜ‬ی و‪ٙ‬یٓ‪ .‬ثب اؾشفبز‪ ٜ‬اظ خس‪ َٚ‬زضؾشی فٍّٕط ثیشی‬
‫ق‪ٛ‬ز‪.‬‬

‫ػولگش تیسی )|(‪OR‬‬

‫‪82‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫اٌط ٔمبزیط ز‪ ٚ‬عطف فٍّٕط ثیشی‪ٞ OR‬ط ز‪ ٚ‬نفط ثبق‪ٙ‬س ٘شید‪ ٝ‬نفط زض غیط ای‪ٙ‬ه‪ٛ‬ضر‪ 1‬ذ‪ٛ‬ا‪ٞ‬س قس‪.‬خس‪ َٚ‬زضؾشی ایٗ فٍّٕط زض‬
‫ظیط آٔس‪ ٜ‬اؾز ‪:‬‬

‫‪X‬‬ ‫‪Y X OR Y‬‬


‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬
‫‪1‬‬ ‫‪0‬‬ ‫‪1‬‬
‫‪0‬‬ ‫‪1‬‬ ‫‪1‬‬
‫‪0 0‬‬ ‫‪0‬‬

‫٘شید‪ ٝ‬فٍّٕط ثیشی ‪ OR‬زض ن‪ٛ‬ضسی نفط اؾز و‪ ٝ‬فّٕ‪٘ٛ‬س ‪ٞ‬بی ز‪ ٚ‬عطف آٖ نفط ثبق‪ٙ‬س‪.‬اٌط فمظ یىی اظ ز‪ ٚ‬فّٕ‪٘ٛ‬س یه ثبقس‬
‫٘شید‪ ٝ‬یه ذ‪ٛ‬ا‪ٞ‬س قس‪ .‬ث‪ٔ ٝ‬ثبَ ظیط س‪ٛ‬خ‪ ٝ‬و‪ٙ‬یس ‪:‬‬

‫;‪int result = 7 | 9‬‬

‫;)‪Console.WriteLine(result‬‬
‫‪15‬‬

‫‪ٚ‬لشی و‪ ٝ‬اظ فٍّٕط ثیشی ‪ OR‬ثطای ز‪ٔ ٚ‬مساض زض ٔثبَ ثبال (‪ )9 ٚ 7‬اؾشفبز‪ٔ ٜ‬ی و‪ٙ‬یٓ ٘شید‪ٔ 15 ٝ‬ی ق‪ٛ‬ز‪.‬حبَ ثطضؾی ٔی و‪ٙ‬یٓ و‪ٝ‬‬
‫چطا ایٗ ٘شید‪ ٝ‬ث‪ ٝ‬زؾز آٔس‪ ٜ‬اؾز؟‬

‫‪7: 00000000000000000000000000000111‬‬
‫‪9: 00000000000000000000000000001001‬‬
‫‪-----------------------------------‬‬
‫‪15:00000000000000000000000000001111‬‬

‫ثب اؾشفبز‪ ٜ‬اظ خس‪ َٚ‬زضؾشی فٍّٕط ثیشی ‪ٔ OR‬ی س‪ٛ‬اٖ ٘شید‪ ٝ‬اؾشفبز‪ ٜ‬اظ ایٗ فٍّٕط ضا سكریم زاز‪.‬فسز ‪ 1111‬ثبی‪ٙ‬طی ٔقبزَ‬
‫فسز ‪ 15‬نحیح اؾز‪.‬‬

‫ػولگش تیسی )^(‪XOR‬‬

‫خس‪ َٚ‬زضؾشی ایٗ فٍّٕط زض ظیط آٔس‪ ٜ‬اؾز ‪:‬‬

‫‪X Y X XOR Y‬‬


‫‪1 1‬‬ ‫‪0‬‬
‫‪1 0‬‬ ‫‪1‬‬
‫‪0 1‬‬ ‫‪1‬‬
‫‪0 0‬‬ ‫‪0‬‬

‫‪83‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫زض ن‪ٛ‬ضسیى‪ ٝ‬فّٕ‪٘ٛ‬س‪ٞ‬بی ز‪ ٚ‬عطف ایٗ فٍّٕط ‪ٞ‬ط ز‪ ٚ‬نفط یب ‪ٞ‬ط ز‪ ٚ‬یه ثبق‪ٙ‬س ٘شید‪ ٝ‬نفط زض غیط ای‪ٙ‬ه‪ٛ‬ضر ٘شید‪ ٝ‬یه ٔی ق‪ٛ‬ز‪.‬زض‬
‫ٔثبَ ظیط سبثیط فٍّٕط ثیشی‪ XOR‬ضا ثط ض‪ٚ‬ی ز‪ٔ ٚ‬مساض ٔكبز‪ٔ ٜ‬ی و‪ٙ‬یس ‪:‬‬

‫;‪int result = 5 ^ 7‬‬

‫;)‪Console.WriteLine(result‬‬
‫‪2‬‬

‫زض ظیط ٔقبزَ ثبی‪ٙ‬طی افساز ثبال (‪٘ )7 ٚ 5‬كبٖ زاز‪ ٜ‬قس‪ ٜ‬اؾز‪.‬‬

‫‪5: 00000000000000000000000000000101‬‬
‫‪7: 00000000000000000000000000000111‬‬
‫‪-----------------------------------‬‬
‫‪2: 00000000000000000000000000000010‬‬

‫ثب ٍ٘ب‪ ٜ‬وطزٖ ث‪ ٝ‬خس‪ َٚ‬زضؾشی فٍّٕط ثیشی‪ٔ XOR‬ی س‪ٛ‬اٖ ف‪ٕٟ‬یس و‪ ٝ‬چطا ٘شید‪ ٝ‬فسز‪ٔ 2‬ی ق‪ٛ‬ز‪.‬‬

‫فٍّٕط ثیشی )~(‪NOT‬‬

‫ایٗ فٍّٕط یه فٍّٕط یٍب٘ی اؾز ‪ ٚ‬فمظ ث‪ ٝ‬یه فّٕ‪٘ٛ‬س ٘یبظ زاضز‪ .‬زض ظیط خس‪ َٚ‬زضؾشی ایٗ فٍّٕط آٔس‪ ٜ‬اؾز‪:‬‬

‫‪X NOT X‬‬


‫‪1‬‬ ‫‪0‬‬
‫‪0‬‬ ‫‪1‬‬

‫فٍّٕط ثیشی ‪ٔ NOT‬مبزیط ثیش‪ٟ‬ب ضا ٔقى‪ٛ‬ؼ ٔی و‪ٙ‬س‪ .‬زض ظیط چٍ‪ٍ٘ٛ‬ی اؾشفبز‪ ٜ‬اظ ایٗ فٍّٕط آٔس‪ ٜ‬اؾز ‪:‬‬

‫;‪int result = ~7‬‬

‫;)‪Console.WriteLine(result‬‬

‫ث‪ٕ٘ ٝ‬بیف ثبی‪ٙ‬طی ٔثبَ ثبال و‪ ٝ‬زض ظیط ٘كبٖ زاز‪ ٜ‬قس‪ ٜ‬اؾز س‪ٛ‬خ‪ٕ٘ ٝ‬بییس‪.‬‬

‫‪7: 00000000000000000000000000000111‬‬
‫‪------------------------------------‬‬
‫‪-8: 11111111111111111111111111111000‬‬

‫هثالْایی اص ػولگشّای تیسی‬

‫فطو و‪ٙ‬یس و‪ ٝ‬اظ یه ؾجه ذبل ف‪٘ٛ‬ز زض ثط٘بٔ‪ ٝ‬سبٖ اؾشفبز‪ ٜ‬و‪ٙ‬یس‪ .‬وس‪ٞ‬بی ٔطث‪ٛ‬ط ث‪ٞ ٝ‬ط ؾجه ‪ ٓٞ‬زض خس‪ َٚ‬ظیط آٔس‪ ٜ‬اؾز ‪:‬‬

‫وس ؾجه‬

‫‪84‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫‪Regular‬‬ ‫‪0‬‬
‫‪Bold‬‬ ‫‪1‬‬
‫‪Italic‬‬ ‫‪2‬‬
‫‪Underline‬‬ ‫‪4‬‬
‫‪Strikeout 8‬‬
‫زَجِ وٌیذ وِ همذاس اٍلیِ صفش تذیي هؼٌی اػر وِ هی خَاّیذ اص ػثه ‪( regular‬ػادی) اػسفادُ وٌیذ‪.‬‬
‫;‪int fontStyle = 0‬‬

‫ثطای ٘كبٖ زازٖ ف‪٘ٛ‬ش‪ٟ‬ب ث‪ ٝ‬ن‪ٛ‬ضر وّفز (‪ )Bold‬اظ فٍّٕط ثیشی ‪ OR‬اؾشفبز‪ٔ ٜ‬ی ق‪ٛ‬ز‪.‬س‪ٛ‬خ‪ ٝ‬و‪ٙ‬یس و‪ ٝ‬ثطای ف‪٘ٛ‬ز‪ Bold‬ثبیس وس‬
‫‪ 1‬ضا ث‪ ٝ‬وبض ثطیس‪.‬‬

‫;‪fontStyle = fontStyle | 1‬‬

‫ثطای اؾشفبز‪ ٜ‬اظ ؾجه‪ Italic‬ثبیس اظ فٍّٕط ثیشی‪ ٚ OR‬وس ‪ 2‬اؾشفبز‪ ٜ‬ق‪ٛ‬ز‪.‬‬

‫;‪fontStyle |= 2‬‬

‫ثطای اؾشفبز‪ ٜ‬اظ ؾبیط ؾجه ‪ٞ‬ب ٔی س‪ٛ‬اٖ ث‪ ٝ‬ض‪ٚ‬ـ ‪ٞ‬بی شوط قس‪ ٜ‬زض ثبال فُٕ وطز ‪ ٚ‬فمظ وس‪ٞ‬ب ضا خبیٍعیٗ و‪ٙ‬یس‪ .‬اٌط ثر‪ٛ‬ا‪ٞ‬یس یه‬
‫ؾجه خسیس ایدبز و‪ٙ‬یس و‪ ٝ‬سطویجی اظ چ‪ٙ‬س ؾجه ثبقس ٔی س‪ٛ‬ا٘یس ث‪ ٝ‬ؾبزٌی فٍّٕط ثیشی ‪ OR‬ضا زض ثیٗ ‪ٞ‬ط ؾجه ف‪٘ٛ‬ز لطاض‬
‫ز‪ٞ‬یس ٔب٘‪ٙ‬س ٔثبَ ظیط ‪:‬‬

‫;‪fontStyle = 1 | 2 | 4 | 8‬‬

‫ػولگش تیسی زغییش هىاى ( ‪) shift‬‬

‫ایٗ ٘‪ٛ‬ؿ فٍّٕط‪ٞ‬ب ث‪ ٝ‬قٕب اخبظ‪ٔ ٜ‬ی ز‪ٙٞ‬س و‪ ٝ‬ثیش‪ٟ‬ب ضا ث‪ ٝ‬ؾٕز چخ یب ضاؾز خب ث‪ ٝ‬خب و‪ٙ‬یس‪ .‬ز‪ٛ٘ ٚ‬ؿ فٍّٕط ثیشی سغییط ٔىبٖ ‪ٚ‬خ‪ٛ‬ز‬
‫زاضز و‪ٞ ٝ‬ط وساْ ز‪ ٚ‬فّٕ‪٘ٛ‬س لج‪ٔ َٛ‬ی و‪ٙٙ‬س‪ .‬فّٕ‪٘ٛ‬س ؾٕز چخ ایٗ فٍّٕط‪ٞ‬ب حبِز ثبی‪ٙ‬طی یه ٔمساض ‪ ٚ‬فّٕ‪٘ٛ‬س ؾٕز ضاؾز سقساز‬
‫خبث‪ ٝ‬خبیی ثیز ‪ٞ‬ب ضا ٘كبٖ ٔی ز‪ٞ‬س‪.‬‬

‫فٍّٕط‬ ‫٘بْ‬ ‫زؾش‪ٝ‬‬ ‫ٔثبَ‬

‫;‪ Binary x = y << 2‬سغییط ٔىبٖ ث‪ ٝ‬ؾٕز چخ <<‬


‫;‪ Binary x = y >> 2‬سغییط ٔىبٖ ث‪ ٝ‬ؾٕز ضاؾز>>‬

‫ػولگش زغییش هىاى تِ ػور چح‬

‫‪85‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫ایٗ فٍّٕط ثیش‪ٟ‬بی فّٕ‪٘ٛ‬س ؾٕز چخ ضا ث‪ ٝ‬سقساز‪ٔ n‬ىبٖ ٔكرم قس‪ ٜ‬س‪ٛ‬ؾظ فّٕ‪٘ٛ‬س ؾٕز ضاؾز‪ ،‬ث‪ ٝ‬ؾٕز چخ ٔ‪ٙ‬شمُ ٔی و‪ٙ‬س‪.‬‬

‫ث‪ ٝ‬ف‪ٛٙ‬اٖ ٔثبَ ‪:‬‬

‫;‪int result = 10 << 2‬‬

‫;)‪Console.WriteLine(result‬‬

‫‪40‬‬

‫زض ٔثبَ ثبال ٔب ثیش‪ٟ‬بی ٔمساض‪ 10‬ضا ز‪ٔ ٚ‬ىبٖ ث‪ ٝ‬ؾٕز چخ ٔ‪ٙ‬شمُ وطز‪ ٜ‬ایٓ‪ ،‬حبَ ثیبییس سبثیط ایٗ ا٘شمبَ ضا ثطضؾی و‪ٙ‬یٓ ‪:‬‬

‫‪10: 00000000000000000000000000001010‬‬
‫‪------------------------------------‬‬
‫‪40: 00000000000000000000000000101000‬‬

‫ٔكب‪ٞ‬س‪ٔ ٜ‬ی و‪ٙ‬یس و‪ ٕٝٞ ٝ‬ثیز ‪ٞ‬ب ث‪ ٝ‬ا٘ساظ‪ ٜ‬ز‪ٚ ٚ‬احس ث‪ ٝ‬ؾٕز چخ ٔ‪ٙ‬شمُ قس‪ ٜ‬ا٘س‪ .‬زض ایٗ ا٘شمبَ ز‪ ٚ‬نفط اظ نفط‪ٞ‬بی ؾٕز چخ وٓ‬
‫ٔی ق‪ٛ‬ز ‪ ٚ‬زض ف‪ٛ‬و ز‪ ٚ‬نفط ث‪ ٝ‬ؾٕز ضاؾز اضبف‪ٔ ٝ‬ی ق‪ٛ‬ز‪.‬‬

‫ػولگش زغییش هىاى تِ ػور ساػر‬

‫ایٗ فٍّٕط قجی‪ ٝ‬ث‪ ٝ‬فٍٕط سغییط ٔىبٖ ث‪ ٝ‬ؾٕز چخ اؾز ثب ایٗ سفب‪ٚ‬ر و‪ ٝ‬ثیز ‪ٞ‬ب ضا ث‪ ٝ‬ؾٕز ضاؾز خب ث‪ ٝ‬خب ٔی و‪ٙ‬س‪ .‬ث‪ ٝ‬ف‪ٛٙ‬اٖ‬
‫ٔثبَ ‪:‬‬

‫;‪int result = 100 >> 4‬‬

‫;)‪Console.WriteLine(result‬‬
‫‪6‬‬

‫ثب اؾشفبز‪ ٜ‬اظ فٍّٕطسغییط ٔىبٖ ث‪ ٝ‬ؾٕز ضاؾز ثیز ‪ٞ‬بی ٔمساض‪ 100‬ضا ث‪ ٝ‬ا٘ساظ‪ٚ 4 ٜ‬احس ث‪ ٝ‬ؾٕز چخ خب ث‪ ٝ‬خب ٔی و‪ٙ‬یٓ‪ .‬اخبظ‪ٜ‬‬
‫ثس‪ٞ‬یس سبثیط ایٗ خب ث‪ ٝ‬خبیی ضا ٔ‪ٛ‬ضز ثطضؾی لطاض ز‪ٞ‬یٓ ‪:‬‬

‫‪100: 00000000000000000000000001100100‬‬
‫‪------------------------------------‬‬
‫‪6: 00000000000000000000000000000110‬‬

‫‪ٞ‬ط ثیز ث‪ ٝ‬ا٘ساظ‪ٚ 4 ٜ‬احس ث‪ ٝ‬ؾٕز ضاؾز ٔ‪ٙ‬شمُ ٔی ق‪ٛ‬ز‪،‬ث‪ٙ‬بثطایٗ‪ 4‬ثیز ا‪ َٚ‬ؾٕز ضاؾز حصف قس‪ ٚ ٜ‬چ‪ٟ‬بض نفط ث‪ ٝ‬ؾٕز چخ‬
‫اضبف‪ٔ ٝ‬ی ق‪ٛ‬ز‪.‬‬

‫‪86‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫زمذم ػولگشّا‬

‫سمسْ فٍّٕط‪ٞ‬ب ٔكرم ٔی و‪ٙ‬س و‪ ٝ‬زض ٔحبؾجبسی و‪ ٝ‬ثیف اظ ز‪ ٚ‬فّٕ‪٘ٛ‬س زاض٘س اثشسا وساْ فٍّٕط اثطـ ضا افٕبَ و‪ٙ‬س‪.‬فٍّٕط ‪ٞ‬ب زض‬
‫ؾی قبضح زض ٔحبؾجبر زاضای حك سمسْ ‪ٞ‬ؿش‪ٙ‬س‪.‬ث‪ ٝ‬ف‪ٛٙ‬اٖ ٔثبَ ‪:‬‬

‫;‪number = 1 + 2 * 3 / 1‬‬

‫٘شید‪ ٝ‬ذ‪ٛ‬ا‪ٞ‬س قس (‪ 1+2= 3‬ؾذؽ‬


‫‪9‬‬ ‫اٌط ٔب حك سمسْ فٍّٕط‪ٞ‬ب ضا ضفبیز ٘ى‪ٙ‬یٓ ‪ ٚ‬فجبضر ثبال ضا اظ ؾٕز چخ ث‪ ٝ‬ضاؾز ا٘دبْ ز‪ٞ‬یٓ‬
‫‪ ٚ 3× 3= 9‬زض آذط ‪ .)9/ 1= 9‬أب وبٔذبیّط ثب س‪ٛ‬خ‪ ٝ‬ث‪ ٝ‬سمسْ فٍّٕط‪ٞ‬ب ٔحبؾجبر ضا ا٘دبْ ٔی ز‪ٞ‬س‪.‬ثطای ٔثبَ فُٕ ضطة ‪ ٚ‬سمؿیٓ‬
‫٘ؿجز ث‪ ٝ‬خٕـ ‪ ٚ‬سفطیك سمسْ زاض٘س‪ .‬ث‪ٙ‬بثطایٗ زض ٔثبَ ف‪ٛ‬ق اثشسا فسز ‪ 2‬ضطثسض ‪ ٚ 3‬ؾذؽ ٘شید‪ ٝ‬آ٘‪ٟ‬ب سمؿیٓ ثط ‪ٔ 1‬ی ق‪ٛ‬ز و‪ٝ‬‬
‫٘شید‪ 6 ٝ‬ث‪ ٝ‬زؾز ٔی آیس‪.‬زض آذط فسز‪ 6‬ثب ‪ 1‬خٕـ ٔی ق‪ٛ‬ز ‪ ٚ‬فسز‪ 7‬حبنُ ٔی ق‪ٛ‬ز‪ .‬زض خس‪ َٚ‬ظیط سمسْ ثطذی اظ فٍّٕط‪ٞ‬بی ؾی‬
‫قبضح آٔس‪ ٜ‬اؾز ‪:‬‬

‫سمسْ‬ ‫فٍّٕط‪ٞ‬ب‬
‫)‪ ++, --, (used as prefixes); +, – (unary‬ثبالسطیٗ‬
‫‪*, /, %‬‬
‫‪+, -‬‬
‫>> ‪<<,‬‬
‫=> ‪<, >, <=,‬‬
‫=! ‪==,‬‬
‫&‬
‫^‬
‫|‬
‫&&‬
‫||‬
‫=‪=, *=, /=, %=, +=, -‬‬
‫دبییٗ سطیٗ‬ ‫)‪++, -- (used as suffixes‬‬

‫اثشسا فٍّٕط‪ٞ‬بی ثب ثبالسطیٗ ‪ ٚ‬ؾذؽ فٍّٕط‪ٞ‬بی ثب دبییٗ سطیٗ حك سمسْ زض ٔحبؾجبر سبثیط ٔی ٌصاض٘س‪ .‬ث‪ ٝ‬ایٗ ٘ىش‪ ٝ‬س‪ٛ‬خ‪ ٝ‬و‪ٙ‬یس و‪ٝ‬‬
‫سمسْ فٍّٕط‪ٞ‬ب ‪ – ٚ ++‬ث‪ٔ ٝ‬ىبٖ لطاضٌیطی آ٘‪ٟ‬ب ثؿشٍی زاضز ( زض ؾٕز چخ یب ضاؾز فّٕ‪٘ٛ‬س ثبق‪ٙ‬س)‪ .‬ث‪ ٝ‬ف‪ٛٙ‬اٖ ٔثبَ ‪:‬‬

‫;‪int number = 3‬‬

‫‪number1 = 3 + ++number; //results to 7‬‬


‫‪number2 = 3 + number++; //results to 6‬‬

‫‪87‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫زض فجبضر ا‪ َٚ‬اثشسا ث‪ٔ ٝ‬مساض ‪ number‬یه ‪ٚ‬احس اضبف‪ ٝ‬قس‪ٔ 4 ٚ ٜ‬ی ق‪ٛ‬ز ‪ ٚ‬ؾذؽ ٔمساض خسیس ثب فسز ‪ 3‬خٕـ ٔی ق‪ٛ‬ز ‪ ٚ‬زض‬
‫٘‪ٟ‬بیز فسز ‪ 7‬ث‪ ٝ‬زؾز ٔی آیس‪ .‬زض فجبضر ز‪ٔ ْٚ‬مساض فسزی‪ 3‬ث‪ٔ ٝ‬مساض ‪ number‬اضبف‪ٔ ٝ‬ی ق‪ٛ‬ز ‪ ٚ‬فسز‪ 6‬ث‪ ٝ‬زؾز ٔی آیس‪.‬ؾذؽ‬
‫ایٗ ٔمساض زض ٔشغیط ‪ number2‬لطاض ٔی ٌیطز‪ ٚ .‬زض ٘‪ٟ‬بیز ٔمساض ‪ number‬ث‪ 4 ٝ‬افعایف ٔی یبثس‪ .‬ثطای ایدبز ذ‪ٛ‬ا٘بیی زض سمسْ‬
‫فٍّٕط‪ٞ‬ب ‪ ٚ‬ا٘دبْ ٔحبؾجبسی و‪ ٝ‬زض آ٘‪ٟ‬ب اظ فٍّٕط‪ٞ‬بی ظیبزی اؾشفبز‪ٔ ٜ‬ی ق‪ٛ‬ز اظ دطا٘شع اؾشفبز‪ٔ ٜ‬ی و‪ٙ‬یٓ ‪:‬‬

‫;)) ‪number = ( 1 + 2 ) * ( 3 / 4 ) % ( 5 - ( 6 * 7‬‬

‫زض ٔثبَ ثبال اثشسا ‪ٞ‬ط وساْ اظ فجبضاسی و‪ ٝ‬زاذُ دطا٘شع ‪ٞ‬ؿش‪ٙ‬س ٔ‪ٛ‬ضز ٔحبؾج‪ ٝ‬لطاض ٔی ٌیط٘س‪ .‬ث‪٘ ٝ‬ىش‪ ٝ‬ای زض ٔ‪ٛ‬ضز فجبضسی و‪ ٝ‬زض‬
‫زاذُ دطا٘شع ؾ‪ ْٛ‬لطاض زاضز س‪ٛ‬خ‪ ٝ‬و‪ٙ‬یس‪ .‬زض ایٗ فجبضر اثشسا ٔمساض زاذّی سطیٗ دطا٘شع ٔ‪ٛ‬ضز ٔحبؾج‪ ٝ‬لطاض ٔی ٌیطز یق‪ٙ‬ی ٔمساض‪6‬‬
‫ضطثسض ‪ 7‬قس‪ ٚ ٜ‬ؾذؽ اظ‪ 5‬وٓ ٔی ق‪ٛ‬ز‪.‬‬

‫اٌط ز‪ ٚ‬یب چ‪ٙ‬س فٍّٕط ثب حك سمسْ یىؿبٖ ٔ‪ٛ‬خ‪ٛ‬ز ثبقس اثشسا ثبیس ‪ٞ‬ط وساْ اظ فٍّٕط‪ٞ‬ب ضا و‪ ٝ‬زض اثشسای فجبضر ٔی آی‪ٙ‬س ٔ‪ٛ‬ضز‬
‫اضظیبثی لطاض ز‪ٞ‬یس‪ .‬ث‪ ٝ‬ف‪ٛٙ‬اٖ ٔثبَ ‪:‬‬

‫;‪number = 3 * 2 + 8 / 4‬‬

‫‪ٞ‬ط ز‪ ٚ‬فٍّٕط * ‪ / ٚ‬زاضای حك سمسْ یىؿب٘ی ‪ٞ‬ؿش‪ٙ‬س‪ .‬ث‪ٙ‬بثط ایٗ قٕب ثبیس اظ چخ ث‪ ٝ‬ضاؾز آ٘‪ٟ‬ب ضا زض ٔحبؾجبر سبثیط ز‪ٞ‬یس‪.‬یق‪ٙ‬ی‬
‫اثشسا ‪ 3‬ضا ضطثسض ‪ٔ 2‬ی و‪ٙ‬یس ‪ ٚ‬ؾذؽ فسز ‪ 8‬ضا ثط ‪ 4‬سمؿیٓ ٔی و‪ٙ‬یس‪ .‬زض ٘‪ٟ‬بیز ٘شید‪ ٝ‬ز‪ ٚ‬فجبضر ضا خٕـ وطز‪ ٚ ٜ‬زض ٔشغیط‬
‫‪ number‬لطاض ٔی ز‪ٞ‬یس‪.‬‬

‫گشفسي ٍسٍدی اص واستش‬


‫چبضچ‪ٛ‬ة زار ٘ز سقسازی ٔشس ثطای ٌطفشٗ ‪ٚ‬ض‪ٚ‬زی اظ وبضثط زض اذشیبض قٕب لطاض ٔی ز‪ٞ‬س‪.‬حبَ ٔی ذ‪ٛ‬ا‪ٞ‬یٓ زض ثبض‪ٔ ٜ‬شس‬
‫)(‪ ReadLine‬یىی زیٍط اظ ٔشس‪ٞ‬بی والؼ ‪ Console‬ثحث و‪ٙ‬یٓ و‪ ٝ‬یه ٔمساض ضقش‪ ٝ‬ای ضا اظ وبضثط زضیبفز ٔی و‪ٙ‬س‪ٔ.‬شس‬
‫)(‪ ReadLine‬فمظ ٔمساض ضقش‪ ٝ‬ای ضا و‪ ٝ‬س‪ٛ‬ؾظ وبضثط ٘‪ٛ‬قش‪ٔ ٝ‬ی ق‪ٛ‬ز ضا ثط ٔی ٌطزا٘س‪ٕٞ .‬ب٘غ‪ٛ‬ض و‪ ٝ‬اظ ٘بْ ایٗ ٔشس دیساؾز‪،‬سٕبْ‬
‫وبضاوشط‪ٞ‬بیی ضا و‪ ٝ‬قٕب زض ٔحیظ و‪ٙ‬ؿ‪ َٛ‬سبیخ ٔی و‪ٙ‬یس سب ظٔب٘ی و‪ ٝ‬زوٕ‪ enter ٝ‬ضا ٔی ظ٘یس ٔی ذ‪ٛ‬ا٘س‪ٞ .‬ط چ‪ ٝ‬و‪ ٝ‬زض ٔحیظ‬
‫‪ٔ ٚ convert‬شس‪ٞ‬بی آٖ‬ ‫و‪ٙ‬ؿ‪ َٛ‬سبیخ ٔی ق‪ٛ‬ز اظ ٘‪ٛ‬ؿ ضقش‪ ٝ‬اؾز‪ .‬ثطای سجسیُ ٘‪ٛ‬ؿ ضقش‪ ٝ‬ث‪ ٝ‬ا٘‪ٛ‬اؿ زیٍط ٔی س‪ٛ‬ا٘یس اظ والؼ‬
‫اؾشفبز‪ ٜ‬و‪ٙ‬یس‪ .‬ث‪ ٝ‬ثط٘بٔ‪ ٝ‬ظیط س‪ٛ‬خ‪ ٝ‬و‪ٙ‬یس ‪:‬‬

‫‪88‬‬
www.w3-farsi.com ‫یًَغ اتشاّیوی‬: ِ‫زالیف ٍ زشجو‬ ‫هثاًی صتاى ػی ؿاسج‬

1 using System;
2
3 public class Program
4 {
5 public static void Main()
6 {
7 string name;
8 int age;
9 double height;
10
11 Console.Write("Enter your name: ");
12 name = Console.ReadLine();
13 Console.Write("Enter your age: ");
14 age = Convert.ToInt32(Console.ReadLine());
15 Console.Write("Enter your height: ");
16 height = Convert.ToDouble(Console.ReadLine());
17
18 //Print a blank line
19 Console.WriteLine();
20
21 //Show the details you typed
22 Console.WriteLine("Name is {0}.", name);
23 Console.WriteLine("Age is {0}.", age);
24 Console.WriteLine("Height is {0}.", height);
25 }
26 }
Enter your name: John
Enter your age: 18
Enter your height: 160.5

Name is John.
Age is 18.
Height is 160.5.

‫اضز‬ٚ ‫ز ضا‬ٛ‫ ٘بْ ذ‬ٝ‫س و‬ٞ‫ا‬ٛ‫ اظ وبضثط ٔی ذ‬ٝٔ‫ ثط٘ب‬.)9 ٚ 8 ٚ 7 ‫ط‬ٛ‫یٓ (ذغ‬ٙ‫ سقطیف ٔی و‬ٝٔ‫ زض ثط٘ب‬ٜ‫ زاز‬ٜ‫ ٔشغیط ضا ثطای شذیط‬3 ‫اثشسا‬
‫ؾظ ٔشس‬ٛ‫ س‬ٝ‫ ثطاثط ٔمساضی اؾز و‬،ْ‫ ٔمساض ٔشغیط ٘ب‬.‫یس‬ٙ‫اضز ٔی و‬ٚ ‫ز ضا‬ٛ‫اٖ وبضثط ٘بْ ذ‬ٛٙ‫ ف‬ٝ‫ قٕب ث‬12 ‫ زض ذظ‬.)11 ‫س(ذظ‬ٙ‫و‬
‫ؿ‬ٛ٘ ‫ٓ اظ‬ٞ ‫ز‬ٛ‫ ٔی ق‬ٜ‫ا٘س‬ٛ‫ ذ‬ReadLine()‫ اظ ٔشس‬ٝ‫ ٔمساضی و‬ٚ ‫ اؾز‬ٝ‫ؿ ضقش‬ٛ٘ ‫ ٘بْ اظ‬ٝ‫ اظ آ٘دبییى‬.‫ز‬ٛ‫ ٔی ق‬ٜ‫ا٘س‬ٛ‫ ذ‬ReadLine()
.ٓ‫اؿ ٘ساضی‬ٛ٘‫ سجسیُ ا‬ٝ‫ ٘یبظی ث‬ٝ‫ اؾز زض ٘شید‬ٝ‫ضقش‬

‫ؿ‬ٛ٘ ‫ ٔب سجسیُ اظ‬ٝ‫ دؽ ٘یبظ اؾز و‬،‫) اؾز‬int ( ‫ؿ نحیح‬ٛ٘ ‫ٔشغیطی اظ‬، ٗ‫ ؾ‬.)13 ‫(ذظ‬.‫س‬ٙ‫اَ ٔی و‬ٛ‫ اظ ٔب ؾٗ ضا ؾ‬ٝٔ‫ؾذؽ ثط٘ب‬
‫ٔمساض‬.)14‫یٓ(ذظ‬ٙ‫ ٔی و‬ٜ‫ ثطای ایٗ سجسیُ اؾشفبز‬Convert.ToInt32()‫ ٔشس‬ٚ ‫بثطایٗ اظ والؼ‬ٙ‫ ث‬.ٓ‫ی‬ٞ‫ نحیح ضا ا٘دبْ ز‬ٝ‫ ث‬ٝ‫ضقش‬
ٝ‫ ایٓ ثطای سجسیُ ضقش‬ٜ‫ سقطیف وطز‬double ‫ؿ‬ٛ٘ ‫) ضا اظ‬height( ‫ٖ ٔشغیط لس‬ٛ‫چ‬.‫ثبظٌكشی اظ ایٗ ٔشس زض ٔشغیط ؾٗ لطاض ٔی ٌیطز‬
ٝ‫ ثط آ٘چ‬ٜٚ‫)فال‬16 ‫(ذظ‬.ٓ‫ی‬ٙ‫ و‬ٜ‫ اؾشفبز‬Convert.ToDouble() ‫والؼ‬ٚ ‫ ثبیس اظ ٔشس‬double ‫ؿ‬ٛ٘ ٝ‫َ ث‬ٛ‫ؿ‬ٙ‫زضیبفشی اظ ٔحیظ و‬
:‫س‬ٙ٘‫ ٔب‬، ‫یس‬ٙ‫ و‬ٜ‫بی ثبال اؾشفبز‬ٞ ُ‫ ثطای سجسی‬parse‫ا٘یس اظ ٔشس‬ٛ‫ قس قٕب ٔی س‬ٝ‫ٌفش‬

age = int.Parse(Console.ReadLine());
height = double.Parse(Console.ReadLine());

89
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫س‪ٛ‬خ‪ ٝ‬زاقش‪ ٝ‬ثبقس و‪ ٝ‬ایٗ ٔشس ثطای سجسیُ ضقش‪ ٝ‬ث‪ ٝ‬ضلٓ اؾشفبز‪ٔ ٜ‬ی ق‪ٛ‬ز یق‪ٙ‬ی ضقش‪ ٝ‬ای و‪ ٝ‬س‪ٛ‬ؾظ وبضثط سبیخ ٔی ق‪ٛ‬ز ثبیس فمظ‬
‫فسز ثبقس‪.‬‬

‫ػاخساسّای زصوین‬
‫سمطیجب ‪ ٕٝٞ‬ظثب٘‪ٟ‬بی ثط٘بٔ‪ٛ٘ ٝ‬یؿی ث‪ ٝ‬قٕب اخبظ‪ ٜ‬اخطای وس ضا زض قطایظ ٔغٕئٗ ٔی ز‪ٙٞ‬س‪ .‬حبَ سه‪ٛ‬ض و‪ٙ‬یس و‪ ٝ‬یه ثط٘بٔ‪ ٝ‬زاضای‬
‫ؾبذشبض سهٕیٓ ٌیطی ٘جبقس ‪ ٕٝٞ ٚ‬وس‪ٞ‬ب ضا اخطا و‪ٙ‬س‪ .‬ایٗ حبِز قبیس فمظ ثطای چبح یه دیغبْ زض نفح‪ٙٔ ٝ‬بؾت ثبقس ‪ِٚ‬ی فطو‬
‫و‪ٙ‬یس و‪ ٝ‬قٕب ثر‪ٛ‬ا‪ٞ‬یس اٌط ٔمساض یه ٔشغیط ثب یه فسز ثطاثط ثبقس ؾذؽ یه دیغبْ چبح ق‪ٛ‬ز اٖ ‪ٚ‬لز ثب ٔكىُ ٔ‪ٛ‬اخ‪ ٝ‬ذ‪ٛ‬ا‪ٞ‬یس‬
‫قس‪ .‬ؾی قبضح ضا‪ٞ ٜ‬بی ٔرشّفی ثطای ضفـ ایٗ ٘‪ٛ‬ؿ ٔكىالر اضائ‪ٔ ٝ‬ی ز‪ٞ‬س‪ .‬زض ایٗ ثرف ثب ٔغبِت ظیط آق‪ٙ‬ب ذ‪ٛ‬ا‪ٞ‬یس قس ‪:‬‬

‫زؾش‪ٛ‬ض ‪if‬‬

‫زؾش‪ٛ‬ض ‪if...else‬‬

‫فٍّٕط ؾ‪ ٝ‬سبیی‬

‫زؾش‪ٛ‬ض ‪ if‬چ‪ٙ‬سٌب٘‪ٝ‬‬

‫زؾش‪ٛ‬ض ‪ if‬س‪ ٛ‬زض س‪ٛ‬‬

‫فٍّٕط‪ٞ‬بی ٔ‪ٙ‬غمی‬

‫زؾش‪ٛ‬ض ‪switch‬‬

‫دػسَس ‪if‬‬

‫ٔی س‪ٛ‬اٖ ثب اؾشفبز‪ ٜ‬اظ زؾش‪ٛ‬ض ‪ ٚ if‬یه قطط ذبل و‪ ٝ‬ثبفث ایدبز یه وس ٔی ق‪ٛ‬ز یه ٔ‪ٙ‬غك ث‪ ٝ‬ثط٘بٔ‪ ٝ‬ذ‪ٛ‬ز اضبف‪ ٝ‬و‪ٙ‬یس‪.‬زس‪ٛ‬ض‪if‬‬
‫ؾبز‪ ٜ‬سطیٗ زؾش‪ٛ‬ض قطعی اؾز و‪ ٝ‬ثط٘بٔ‪ٔ ٝ‬ی ٌ‪ٛ‬یس اٌط قطعی ثطلطاض اؾز وس ٔقی‪ٙ‬ی ضا ا٘دبْ ثس‪ .ٜ‬ؾبذشبض زؾش‪ٛ‬ض ‪ if‬ث‪ ٝ‬ن‪ٛ‬ضر‬
‫ظیط اؾز ‪:‬‬

‫)‪if(condition‬‬

‫‪90‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫;‪code to execute‬‬

‫لجُ اظ اخطای زؾش‪ٛ‬ض ‪ if‬اثشسا قطط ثطضؾی ٔی ق‪ٛ‬ز‪ .‬اٌط قطط ثطلطاض ثبقس یق‪ٙ‬ی زضؾز ثبقس ؾذؽ وس اخطا ٔی ق‪ٛ‬ز‪.‬قطط یه‬
‫فجبضر ٔمبیؿ‪ ٝ‬ای اؾز‪ٔ .‬ی س‪ٛ‬اٖ اظ فٍّٕط‪ٞ‬بی ٔمبیؿ‪ ٝ‬ای ثطای سؿز زضؾز یب اقشجب‪ ٜ‬ث‪ٛ‬زٖ قطط اؾشفبز‪ ٜ‬وطز‪.‬اخبظ‪ ٜ‬ثس‪ٞ‬یس و‪ٝ‬‬
‫ٍ٘ب‪ٞ‬ی ث‪٘ ٝ‬ح‪ ٜٛ‬اؾشفبز‪ ٜ‬اظ زؾش‪ٛ‬ض‪ if‬زض زاذُ ثط٘بٔ‪ ٝ‬ثی‪ٙ‬ساظیٓ‪ .‬ثط٘بٔ‪ ٝ‬ظیط دیغبْ ‪ Hello World‬ضا اٌط ٔمساض ‪ number‬وٕشط اظ‬
‫‪ Goodbye World ٚ 10‬ضا اٌط ٔمساض‪ number‬اظ ‪ 10‬ثعضٌشط ثبقس زض نفح‪ٕ٘ ٝ‬بیف ٔی ز‪ٞ‬س‪..‬‬

‫‪1‬‬ ‫;‪using System‬‬


‫‪2‬‬
‫‪3‬‬ ‫‪public class Program‬‬
‫‪4‬‬ ‫{‬
‫‪5‬‬ ‫)(‪public static void Main‬‬
‫‪6‬‬ ‫{‬
‫‪7‬‬ ‫‪//Declare a variable and set it a value less than 10‬‬
‫‪8‬‬ ‫;‪int number = 5‬‬
‫‪9‬‬
‫‪10‬‬ ‫‪//If the value of number is less than 10‬‬
‫‪11‬‬ ‫)‪if (number < 10‬‬
‫‪12‬‬ ‫;)"‪Console.WriteLine("Hello World.‬‬
‫‪13‬‬
‫‪14‬‬ ‫‪//Change the value of a number to a value which‬‬
‫‪15‬‬ ‫‪// is greater than 10‬‬
‫‪16‬‬ ‫;‪number = 15‬‬
‫‪17‬‬
‫‪18‬‬ ‫‪//If the value of number is greater than 10‬‬
‫‪19‬‬ ‫)‪if (number > 10‬‬
‫‪20‬‬ ‫;)"‪Console.WriteLine("Goodbye World.‬‬
‫‪21‬‬ ‫}‬
‫} ‪22‬‬
‫‪Hello World.‬‬
‫‪Goodbye World.‬‬

‫زض ذظ ‪ 8‬یه ٔشغیط ثب ٘بْ ‪ number‬سقطیف ‪ٔ ٚ‬مساض ‪ 5‬ث‪ ٝ‬آٖ اذشهبل زاز‪ ٜ‬قس‪ ٜ‬اؾز‪ٚ .‬لشی ث‪ ٝ‬ا‪ِٚ‬یٗ زؾش‪ٛ‬ض ‪ if‬زض ذظ ‪ٔ 11‬ی‬
‫ضؾیٓ ثط٘بٔ‪ ٝ‬سكریم ٔی ز‪ٞ‬س و‪ٔ ٝ‬مساض‪ number‬اظ ‪ 10‬وٕشط اؾز یق‪ٙ‬ی‪ 5‬و‪ٛ‬چىشط اظ ‪ 10‬اؾز‪ٙٔ .‬غمی اؾز و‪٘ ٝ‬شید‪ٔ ٝ‬مبیؿ‪ٝ‬‬
‫زضؾز ٔی ثبقس ث‪ٙ‬بثطایٗ زؾش‪ٛ‬ض ‪ if‬زؾش‪ٛ‬ض ضا اخطا ٔی و‪ٙ‬س(ذظ ‪ ٚ )12‬دیغبْ ‪ Hello World‬چبح ٔی ق‪ٛ‬ز‪ .‬حبَ ٔمساض‬
‫‪ number‬ضا ث‪ 15 ٝ‬سغییط ٔی ز‪ٞ‬یٓ (ذظ ‪ٚ.)16‬لشی ث‪ ٝ‬ز‪ٔٚ‬یٗ زؾش‪ٛ‬ض ‪ if‬زض ذظ ‪ٔ 19‬ی ضؾیٓ ثط٘بٔ‪ٔ ٝ‬مساض ‪ number‬ضا ثب ‪10‬‬
‫ٔمبیؿ‪ٔ ٝ‬ی و‪ٙ‬س ‪ ٚ‬چ‪ٔ ٖٛ‬مساض‪ number‬یق‪ٙ‬ی ‪ 15‬اظ ‪ 10‬ثعضٌشط اؾز ثط٘بٔ‪ ٝ‬دیغبْ‪ Goodbye World‬ضا چبح ٔی و‪ٙ‬س (ذظ‪)20‬‬
‫‪ .‬ث‪ ٝ‬ایٗ ٘ىش‪ ٝ‬س‪ٛ‬خ‪ ٝ‬و‪ٙ‬یس و‪ ٝ‬زؾش‪ٛ‬ض‪ if‬ضا ٔی س‪ٛ‬اٖ زض یه ذظ ٘‪ٛ‬قز ‪:‬‬

‫;)"‪if (number > 10) Console.WriteLine("Goodbye World.‬‬

‫قٕب ٔی س‪ٛ‬ا٘یس چ‪ٙ‬سیٗ زؾش‪ٛ‬ض ضا زض زاذُ زؾش‪ٛ‬ض ‪ if‬ث‪ٛٙ‬یؿیس‪ .‬وبفیؿز و‪ ٝ‬اظ یه آو‪ٛ‬الز ثطای ٘كبٖ زازٖ اثشسا ‪ ٚ‬ا٘ش‪ٟ‬بی‬
‫زؾش‪ٛ‬ضار اؾشفبز‪ ٜ‬و‪ٙ‬یس‪ ٕٝٞ .‬زؾش‪ٛ‬ضار زاذُ ثیٗ آو‪ٛ‬الز خع ثس٘‪ ٝ‬زؾش‪ٛ‬ض‪ٞ if‬ؿش‪ٙ‬س‪٘ .‬ح‪ ٜٛ‬سقطیف چ‪ٙ‬س زؾش‪ٛ‬ض زض زاذُ ثس٘‪ ifٝ‬ث‪ٝ‬‬
‫ن‪ٛ‬ضر ظیط اؾز ‪:‬‬

‫‪91‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫)‪if(condition‬‬
‫{‬
‫;‪statement1‬‬
‫;‪statement2‬‬
‫‪.‬‬
‫‪.‬‬
‫‪.‬‬
‫;‪statementN‬‬
‫}‬

‫ایٗ ‪ ٓٞ‬یه ٔثبَ ؾبز‪: ٜ‬‬

‫)‪if (x > 10‬‬


‫{‬
‫;)"‪Console.WriteLine("x is greater than 10.‬‬
‫;)"‪Console.WriteLine("This is still part of the if statement.‬‬
‫}‬

‫ٔمساض اظ ‪10‬‬
‫‪x‬‬ ‫زض ٔثبَ ثبال اٌط ٔمساض‪ x‬اظ ‪ 10‬ثعضٌشط ثبقس ز‪ ٚ‬دیغبْ چبح ٔی ق‪ٛ‬ز‪ .‬حبَ اٌط ث‪ ٝ‬ف‪ٛٙ‬اٖ ٔثبَ آو‪ٛ‬الز ضا حصف و‪ٙ‬یٓ ‪ٚ‬‬
‫ثعضٌشط ٘جبقس ٔب٘‪ٙ‬س وس ظیط ‪:‬‬

‫)‪if (x > 10‬‬


‫;)"‪Console.WriteLine("x is greater than 10.‬‬
‫;)")?‪Console.WriteLine("This is still part of the if statement. (Really‬‬

‫وس ثبال زض ن‪ٛ‬ضسی ث‪ٟ‬شط ذ‪ٛ‬ا٘س‪ٔ ٜ‬ی ق‪ٛ‬ز و‪ ٝ‬ثیٗ زؾش‪ٛ‬ضار فبنّ‪ ٝ‬ثٍصاضیٓ‪.‬‬

‫)‪if (x > 10‬‬


‫;)"‪Console.WriteLine("x is greater than 10.‬‬

‫;)")?‪Console.WriteLine("This is still part of the if statement. (Really‬‬

‫ٔی ثی‪ٙ‬سیٗ و‪ ٝ‬زؾش‪ٛ‬ض ز‪(ْٚ‬ذظ‪ )3‬زض ٔثبَ ثبال خع زس‪ٛ‬ض ‪٘ if‬یؿز‪ .‬ای‪ٙ‬دبؾز و‪ ٝ‬چ‪ٔ ٖٛ‬ب فطو ضا ثط ایٗ ٌصاقش‪ ٝ‬ایٓ و‪ٔ ٝ‬مساض‪ x‬اظ‬
‫‪ 10‬و‪ٛ‬چىشط اؾز دؽ ذظ )?‪ This is still part of the if statement. (Really‬چبح ٔی ق‪ٛ‬ز‪ .‬زض ٘شید‪ ٝ‬ا‪ٕٞ‬یز ‪ٚ‬خ‪ٛ‬ز‬
‫‪ if‬زاقشیس ثطای آٖ یه آو‪ٛ‬الز‬ ‫آو‪ٛ‬الز ٔكرم ٔی ق‪ٛ‬ز‪ .‬ث‪ ٝ‬ف‪ٛٙ‬اٖ سٕطیٗ ‪ٕٞ‬یك‪ ٝ‬حشی اٌط فمظ یه زؾش‪ٛ‬ض زض ثس٘‪ٝ‬‬
‫ثٍصاضیس‪ .‬فطأ‪ٛ‬ـ ٘ى‪ٙ‬یس و‪ ٝ‬اظ لّٓ ا٘ساذشٗ یه آو‪ٛ‬الز ثبفث ث‪ٚ ٝ‬خ‪ٛ‬ز آٔسٖ ذغب قس‪ ٚ ٜ‬یبفشٗ آٖ ضا ؾرز ٔی و‪ٙ‬س‪ .‬یىی اظ‬
‫ذغب‪ٞ‬بی ٔقٕ‪ َٛ‬وؿب٘ی و‪ ٝ‬ثط٘بٔ‪ٛ٘ ٝ‬یؿی ضا سبظ‪ ٜ‬قط‪ٚ‬ؿ وطز‪ ٜ‬ا٘س لطاض زازٖ ؾیٕیى‪ ِٗٛ‬زض ؾٕز ضاؾز دطا٘شع‪ if‬اؾز‪ .‬ث‪ ٝ‬ف‪ٛٙ‬اٖ‬
‫ٔثبَ ‪:‬‬

‫;)‪if (x > 10‬‬


‫;)"‪Console.WriteLine("x is greater than 10‬‬

‫ث‪ ٝ‬یبز زاقش‪ ٝ‬ثبقیس و‪ if ٝ‬یه ٔمبیؿ‪ ٝ‬ضا ا٘دبْ ٔی ز‪ٞ‬س ‪ ٚ‬زؾش‪ٛ‬ض اخطایی ٘یؿز‪ .‬ث‪ٙ‬بثطایٗ ثط٘بٔ‪ ٝ‬قٕب ثب یه ذغبی ٔ‪ٙ‬غمی ٔ‪ٛ‬اخ‪ٝ‬‬
‫‪if‬‬
‫دطا٘شع ث‪ٙٔ ٝ‬عِ‪ ٝ‬ایٗ اؾز و‪ ٝ‬ثّ‪ٛ‬ن وس زض ای‪ٙ‬دب‬ ‫ٔی ق‪ٛ‬ز‪ٕٞ .‬یك‪ ٝ‬ث‪ ٝ‬یبز زاقش‪ ٝ‬ثبقیس و‪ ٝ‬لطاض ٌطفشٗ ؾیٕیى‪ ِٗٛ‬زض ؾٕز ضاؾز‬
‫ث‪ ٝ‬دبیبٖ ضؾیس‪ ٜ‬اؾز‪ٔ .‬ثبِی زیٍط زض ٔ‪ٛ‬ضز زؾش‪ٛ‬ض‪: if‬‬

‫‪92‬‬
www.w3-farsi.com ‫یًَغ اتشاّیوی‬: ِ‫زالیف ٍ زشجو‬ ‫هثاًی صتاى ػی ؿاسج‬

using System;

public class Program


{
public static void Main()
{
int firstNumber;
int secondNumber;

Console.Write("Enter a number: ");


firstNumber = Convert.ToInt32(Console.ReadLine());

Console.Write("Enter another number: ");


secondNumber = Convert.ToInt32(Console.ReadLine());

if (firstNumber == secondNumber)
{
Console.WriteLine("{0} == {1}", firstNumber, secondNumber);
}
if (firstNumber != secondNumber)
{
Console.WriteLine("{0} != {1}", firstNumber, secondNumber);
}
if (firstNumber < secondNumber)
{
Console.WriteLine("{0} < {1}", firstNumber, secondNumber);
}
if (firstNumber > secondNumber)
{
Console.WriteLine("{0} > {1}", firstNumber, secondNumber);
}
if (firstNumber <= secondNumber)
{
Console.WriteLine("{0} <= {1}", firstNumber, secondNumber);
}
if (firstNumber >= secondNumber)
{
Console.WriteLine("{0} >= {1}", firstNumber, secondNumber);
}
}
}
Enter a number: 2
Enter another number: 5
2 != 5
2 < 5
2 <= 5
Enter a number: 10
Enter another number: 3
10 != 3
10 > 3
10 >= 3
Enter a number: 5
Enter another number: 5
5 == 5

93
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫‪5 <= 5‬‬


‫‪5 >= 5‬‬

‫ٔب اظ فٍّٕط‪ٞ‬بی ٔمبیؿ‪ ٝ‬ای زض زؾش‪ٛ‬ض‪ if‬اؾشفبز‪ ٜ‬وطز‪ ٜ‬ایٓ‪ .‬اثشسا ز‪ ٚ‬فسز و‪ ٝ‬لطاض اؾز ثب ‪ٔ ٓٞ‬مبیؿ‪ ٝ‬ق‪٘ٛ‬س ضا ث‪ ٝ‬ف‪ٛٙ‬اٖ ‪ٚ‬ض‪ٚ‬زی اظ‬
‫وبضثط ٔی ٌیطیٓ‪ .‬افساز ثب ‪ٔ ٓٞ‬مبیؿ‪ٔ ٝ‬ی ق‪٘ٛ‬س ‪ ٚ‬اٌط قطط زضؾز ث‪ٛ‬ز دیغبٔی چبح ٔی ق‪ٛ‬ز‪ .‬ث‪ ٝ‬ایٗ ٘ىش‪ ٝ‬س‪ٛ‬خ‪ ٝ‬زاقش‪ ٝ‬ثبقیس و‪ٝ‬‬
‫قطع‪ٟ‬ب ٔمبزیط ث‪ِٛ‬ی ‪ٞ‬ؿش‪ٙ‬س‪ ،‬ث‪ٙ‬بثطایٗ قٕب ٔی س‪ٛ‬ا٘یس ٘شید‪ ٝ‬یه فجبضر ضا زض زاذُ یه ٔشغیط ث‪ِٛ‬ی شذیط‪ ٜ‬و‪ٙ‬یس ‪ ٚ‬ؾذؽ اظ ٔشغیط‬
‫ث‪ ٝ‬ف‪ٛٙ‬اٖ قطط زض زؾش‪ٛ‬ض‪ if‬اؾشفبز‪ ٜ‬و‪ٙ‬یس‪.‬‬

‫;‪bool isNewMillenium = year == 2000‬‬

‫)‪if (isNewMillenium‬‬
‫{‬
‫;)"!‪Console.WriteLine("Happy New Millenium‬‬
‫}‬

‫اٌط ٔمساض ‪ year‬ثطاثط ‪ 2000‬ثبقس ؾذؽ حبنُ فجبضر زض ٔشغیط ‪ isNewMillenium‬شذیط‪ٔ ٜ‬ی ق‪ٛ‬ز‪ٔ .‬ی س‪ٛ‬اٖ اظ ٔشغیط ثطای‬
‫سكریم وس اخطایی ثس٘‪ ٝ‬زؾش‪ٛ‬ض‪ if‬اؾشفبز‪ ٜ‬وطز ذ‪ٛ‬ا‪ٔ ٜ‬مساض ٔشغیط زضؾز ثبقس یب ٘بزضؾز‪.‬‬

‫دػسَس ‪if...else‬‬

‫زؾش‪ٛ‬ض ‪ if‬فمظ ثطای اخطای یه حبِز ذبل ث‪ ٝ‬وبض ٔی ض‪ٚ‬ز یق‪ٙ‬ی اٌط حبِشی ثطلطاض ث‪ٛ‬ز وبضذبنی ا٘دبْ ق‪ٛ‬ز‪.‬أب ظٔب٘ی و‪ ٝ‬قٕب‬
‫‪ if…else‬اؾشفبز‪ ٜ‬و‪ٙ‬یس‪.‬‬
‫ثر‪ٛ‬ا‪ٞ‬یس اٌط قطط ذبنی ثطلطاض قس یه زؾش‪ٛ‬ض ‪ ٚ‬اٌط ثطلطاض ٘ج‪ٛ‬ز زؾش‪ٛ‬ض زیٍط اخطا ق‪ٛ‬ز ثبیس اظ زؾش‪ٛ‬ض‬

‫ؾبذشبض زؾش‪ٛ‬ض‪ if…else‬زض ظیط آٔس‪ ٜ‬اؾز ‪:‬‬

‫)‪if(condition‬‬
‫{‬
‫;‪code to execute if condition is true‬‬
‫}‬
‫‪else‬‬
‫{‬
‫;‪code to execute if condition is false‬‬
‫}‬

‫اظ وّٕ‪ ٝ‬وّیسی ‪ٕ٘ else‬ی س‪ٛ‬اٖ ث‪ ٝ‬س‪ٟٙ‬بیی اؾشفبز‪ ٜ‬وطز ثّى‪ ٝ‬حشٕب ثبیس ثب‪ if‬ث‪ ٝ‬وبض ثطز‪ ٜ‬ق‪ٛ‬ز‪.‬اٌط فمظ یه وس اخطایی زض زاذُ ثس٘‪ٝ‬‬
‫‪ ٚ if‬ثس٘‪ else ٝ‬زاضیس اؾشفبز‪ ٜ‬اظ آو‪ٛ‬الز اذشیبضی اؾز ‪.‬وس زاذُ ثّ‪ٛ‬ن‪ else‬فمظ زض ن‪ٛ‬ضسی اخطا ٔی ق‪ٛ‬ز و‪ ٝ‬قطط زاذُ زؾش‪ٛ‬ض‬
‫‪٘ if‬بزضؾز ثبقس‪.‬‬

‫زض ظیط ٘ح‪ ٜٛ‬اؾشفبز‪ ٜ‬اظ زؾش‪ٛ‬ض‪ if…else‬آٔس‪ ٜ‬اؾز‪.‬‬

‫‪94‬‬
www.w3-farsi.com ‫یًَغ اتشاّیوی‬: ِ‫زالیف ٍ زشجو‬ ‫هثاًی صتاى ػی ؿاسج‬

1 using System;
2
3 public class Program
4 {
5 public static void Main()
6 {
7 int number = 5;
8
9 //Test the condition
10 if (number < 10)
11 {
12 Console.WriteLine("The number is less than 10.");
13 }
14 else
15 {
16 Console.WriteLine("The number is either greater than or equal to
17 10.");
18 }
19
20 //Modify value of number
21 number = 15;
22
23 //Repeat the test to yield a different result
24 if (number < 10)
25 {
26 Console.WriteLine("The number is less than 10.");
27 }
28 else
29 {
30 Console.WriteLine("The number is either greater than or equal to
31 10.");
32 }
}
}
: The number is less than 10.
The number is either greater than or equal to 10.

‫ ٔمساضی‬ٝ‫ ث‬ٚ ٓ‫ی‬ٞ‫ ضا سغییط ز‬number ‫ اٌط ٔمساض‬ٚ ‫ز‬ٛ‫ اخطا ٔی ق‬if ‫ن‬ّٛ‫ وٕشط ثبقس وس زاذُ ث‬10 ‫ اظ‬number ‫لشی ٔمساض‬ٚ
‫ وّیسی‬ّٕٝ‫ آذط و‬ٝ‫ ٘جبیس ث‬if ‫ن‬ّٛ‫س ث‬ٙ٘‫ ٔب‬.‫ز‬ٛ‫ اخطا ٔی ق‬else ‫ن‬ّٛ‫ وس زاذُ ث‬ٚ‫ز‬ٛ‫یٓ قطط ٘بزضؾز ٔی ق‬ٞ‫ سغییط ز‬10 ‫ثعضٌشط اظ‬
.‫ز‬ٛ‫ ق‬ٝ‫ِٗ اضبف‬ٛ‫ ؾیٕیى‬else

‫ػولگش ؿشطی‬

:‫ اؾز‬ٜ‫ اظ ایٗ فٍّٕط آٔس‬ٜ‫ اؾشفبز‬ٜٛ‫ زض ظیط ٘ح‬.‫س‬ٙ‫ فُٕ ٔی و‬if…else‫ض قطعی‬ٛ‫س زؾش‬ٙ٘‫?( زض ؾی قبضح ٔب‬:) ‫فٍّٕط قطعی‬

95
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫>‪<condition> ? <result if true> : <result if false‬‬

‫فٍّٕط قطعی س‪ٟٙ‬ب فٍّٕط ؾ‪ ٝ‬سبیی ؾی قبضح اؾز و‪٘ ٝ‬یبظ ث‪ ٝ‬ؾ‪ ٝ‬فّٕ‪٘ٛ‬س زاضز‪ ،‬قطط‪ ،‬یه ٔمساض ظٔب٘ی و‪ ٝ‬قطط زضؾز ثبقس ‪ٚ‬‬
‫یه ٔمساض ظٔب٘ی و‪ ٝ‬قطط ٘بزضؾز ثبقس‪.‬‬

‫اخبظ‪ ٜ‬ثس‪ٞ‬یس و‪٘ ٝ‬ح‪ ٜٛ‬اؾشفبز‪ ٜ‬ایٗ فٍّٕط ضا زض زاذُ ثط٘بٔ‪ٛٔ ٝ‬ضز ثطضؾی لطاض ز‪ٞ‬یٓ‪.‬‬

‫‪public class Program‬‬


‫{‬
‫)(‪public static void Main‬‬
‫{‬
‫;"‪string pet1 = "puppy‬‬
‫;"‪string pet2 = "kitten‬‬
‫;‪string type1‬‬
‫;‪string type2‬‬

‫;"‪type1 = (pet1 == "puppy") ? "dog" : "cat‬‬


‫;"‪type2 = (pet2 == "kitten") ? "cat" : "dog‬‬
‫}‬
‫}‬

‫ثط٘بٔ‪ ٝ‬ثبال ٘ح‪ ٜٛ‬اؾشفبز‪ ٜ‬اظ ایٗ فٍّٕط قطعی ضا ٘كبٖ ٔی ز‪ٞ‬س‪ .‬ذظ یه ث‪ ٝ‬ن‪ٛ‬ضر ظیط سطخٕ‪ٔ ٝ‬ی ق‪ٛ‬ز ‪ :‬اٌط ٔمساض‪ pet1‬ثطاثط ثب‬
‫‪ puppy‬ؾذؽ ٔمساض ‪ dog‬ضا زض ‪ type1‬لطاض ثس‪ ٜ‬زض غیط ایٗ ن‪ٛ‬ضر ٔمساض ‪ cat‬ضا ‪ type1‬لطاض ثس‪ .ٜ‬ذظ ز‪ ٚ‬ث‪ ٝ‬ن‪ٛ‬ضر ظیط سطخٕ‪ٝ‬‬
‫ٔی ق‪ٛ‬ز ‪ :‬اٌط ٔمساض‪ pet2‬ثطاثط ثب ‪ kitten‬ؾذؽ ٔمساض ‪ cat‬ضا زض ‪ type2‬لطاض ثس‪ ٜ‬زض غیط ایٗ ن‪ٛ‬ضر ٔمساض‪dog.‬‬

‫حبَ ثط٘بٔ‪ ٝ‬ثبال ضا ثب اؾشفبز‪ ٜ‬اظ زؾش‪ٛ‬ض‪ٔ if else‬ی ٘‪ٛ‬یؿیٓ‪:‬‬

‫)"‪if (pet1 == "puppy‬‬


‫;"‪type1 = "dog‬‬
‫‪else‬‬
‫;"‪type1 = "cat‬‬

‫‪ٍٙٞ‬بٔی و‪ ٝ‬چ‪ٙ‬سیٗ زؾش‪ٛ‬ض زض زاذُ یه ثّ‪ٛ‬ن‪ if‬یب ‪ else‬زاضیس اظ فٍّٕط قطعی اؾشفبز‪٘ ٜ‬ى‪ٙ‬یس چ‪ ٖٛ‬ذ‪ٛ‬ا٘بیی ثط٘بٔ‪ ٝ‬ضا دبییٗ ٔی‬
‫آ‪ٚ‬ضز‪.‬‬

‫دػسَس ‪ if‬چٌذگاًِ‬

‫‪ if‬اؾشفبز‪ ٜ‬و‪ٙ‬یس ‪ ٚ‬ث‪ٟ‬شط اؾز و‪ ٝ‬ایٗ‬ ‫اٌط ثر‪ٛ‬ا‪ٞ‬یس چ‪ٙ‬س قطط ضا ثطضؾی و‪ٙ‬یس چىبض ٔی و‪ٙ‬یس؟ ٔی س‪ٛ‬ا٘یس اظ چ‪ٙ‬سیٗ زؾش‪ٛ‬ض‬
‫زؾش‪ٛ‬ضار ‪ if‬ضا ث‪ ٝ‬ن‪ٛ‬ضر ظیط ث‪ٛٙ‬یؿیس ‪:‬‬

‫‪96‬‬
www.w3-farsi.com ‫یًَغ اتشاّیوی‬: ِ‫زالیف ٍ زشجو‬ ‫هثاًی صتاى ػی ؿاسج‬

if (condition)
{
code to execute;
}
else
{
if (condition)
{
code to execute;
}
else
{
if (condition)
{
code to execute;
}
else
{
code to execute;
}
}
}

ٜ‫ا٘یس وس ثبال ضا ؾبز‬ٛ‫ ٔی س‬.‫یؿیس‬ٛٙ‫ ث‬else‫ن‬ّٛ‫ ضفشٍی زض زاذُ ث‬ٛ‫ضر س‬ٛ‫ ن‬ٝ‫ضار ضا ث‬ٛ‫شط اؾز زؾش‬ٟ‫ ث‬.‫ا٘سٖ وس ثبال ؾرز اؾز‬ٛ‫ذ‬
: ‫یس‬ٙ‫سط و‬

if(condition)
{
code to execute;
}
else if(condition)
{
code to execute;
}
else if(condition)
{
code to execute;
}
else
{
code to execute;
}

else ‫ض‬ٛ‫زؾش‬.‫ اؾز‬ٝ‫اثؿش‬ٚ if‫ض‬ٛ‫ زس‬ٝ‫ ٘یع ث‬else if ، else‫س‬ٙ٘‫ ٔب‬ٝ‫ ضا یبز ٌطفشیس ثبیس ثسا٘یس و‬else if‫ض‬ٛ‫ اظ زؾش‬ٜ‫ اؾشفس‬ٜٛ‫ ٘ح‬ٝ‫حبَ و‬
ٖ‫ اٌط آ‬ٚ .‫ز‬ٛ‫ ثقسی اخطا ٔی ق‬else if ‫ض‬ٛ‫ ثبقس زؾش‬ٜ‫ اقشجب‬else if ‫ ثبقس حبَ اٌط‬ٜ‫ اقشجب‬if ‫ض‬ٛ‫سؾش‬ٙ‫ِی‬ٚ‫ ا‬ٝ‫ز و‬ٛ‫لشی اخطا ٔی ق‬ٚ if
.‫ز‬ٛ‫ اخطا ٔی ق‬else‫ض‬ٛ‫بیز زؾش‬ٟ٘ ‫ز زض‬ٛ‫٘یع اخطا ٘ك‬

: ‫س‬ٞ‫ ضا ٘كبٖ ٔی ز‬if else‫ض‬ٛ‫ اظ زؾش‬ٜ‫ اؾشفبز‬ٜٛ‫ ظیط ٘ح‬ٝٔ‫ثط٘ب‬

using System;

97
www.w3-farsi.com ‫یًَغ اتشاّیوی‬: ِ‫زالیف ٍ زشجو‬ ‫هثاًی صتاى ػی ؿاسج‬

public class Program


{
public static void Main()
{
int choice;

Console.WriteLine("What's your favorite color?");


Console.WriteLine("[1] Black");
Console.WriteLine("[2] White");
Console.WriteLine("[3] Blue");
Console.WriteLine("[4] Red");
Console.WriteLine("[5] Yellow\n");

Console.Write("Enter your choice: ");


choice = Convert.ToInt32(Console.ReadLine());

if (choice == 1)
{
Console.WriteLine("You might like my black t-shirt.");
}
else if (choice == 2)
{
Console.WriteLine("You might be a clean and tidy person.");
}
else if (choice == 3)
{
Console.WriteLine("You might be sad today.");
}
else if (choice == 4)
{
Console.WriteLine("You might be inlove right now.");
}
else if (choice == 5)
{
Console.WriteLine("Lemon might be your favorite fruit.");
}
else
{
Console.WriteLine("Sorry, your favorite color is " +
"not in the choices above.");
}
}
}
What's your favorite color?
[1] Black
[2] White
[3] Blue
[4] Red
[5] Yellow

Enter your choice: 1


You might like my black t-shirt.

What's your favorite color?


[1] Black

98
www.w3-farsi.com ‫یًَغ اتشاّیوی‬: ِ‫زالیف ٍ زشجو‬ ‫هثاًی صتاى ػی ؿاسج‬

[2] White
[3] Blue
[4] Red
[5] Yellow

Enter your choice: 999


Sorry, your favorite color is not in the choices above.

‫بی ٔرشّفی چبح ٔی‬ٟٔ‫یس دیغب‬ٙ‫ چیعی ا٘شربة ٔی و‬ٝ‫ قٕب چ‬ٝ‫ى‬ٙ‫ ای‬ٝ‫ ث‬ٝ‫ ثؿش‬.‫ اؾز‬ٝ‫اثؿش‬ٚ choice ‫ ٔشغیط‬ٝ‫ ثبال ث‬ٝٔ‫خی ثط٘ب‬ٚ‫ذط‬
.‫ز‬ٛ‫ اخطا ٔی ق‬else
‫ن‬ّٛ‫ ث‬ٝ‫ط ث‬ٛ‫بی ا٘شربة ٘جبقس وس ٔطث‬ٟ‫یس زض زاذُ حبِش‬ٙ‫ قٕب سبیخ ٔی و‬ٝ‫ اٌط فسزی و‬.‫ز‬ٛ‫ق‬

َ‫ زَ دس ز‬if ‫دػسَس‬

.‫ زیٍط‬if‫ض‬ٛ‫ زض زاذُ زؾش‬ifٜ‫ض ؾبز‬ٛ‫ یه زؾش‬.‫ وطز‬ٜ‫ زض ؾی قبضح اؾشفبز‬ٛ‫ زض س‬ٛ‫ س‬if ‫ض‬ٛ‫اٖ اظ زؾش‬ٛ‫ٔی س‬

if (condition)
{
code to execute;

if (condition)
{
code to execute;
}
else if (condition)
{
if (condition)
{
code to execute;
}
}
}
else
{
if (condition)
{
code to execute;
}
}

: ٓ‫ی‬ٞ‫ ضا ٘كبٖ ز‬ٛ‫ زض س‬ٛ‫ س‬if‫ض‬ٛ‫ اظ زؾش‬ٜ‫ اؾشفبز‬ٜٛ‫ ٘ح‬ٝ‫یس و‬ٞ‫ ثس‬ٜ‫اخبظ‬

1 using System;
2 public class Program
3 {
4 public static void Main()
5 {
6 int age;
7 string gender;

99
www.w3-farsi.com ‫یًَغ اتشاّیوی‬: ِ‫زالیف ٍ زشجو‬ ‫هثاًی صتاى ػی ؿاسج‬

8
9 Console.Write("Enter your age: ");
10 age = Convert.ToInt32(Console.ReadLine());
11
12 Console.Write("Enter your gender (male/female): ");
13
14 gender = Console.ReadLine();
15
16 if (age > 12)
17 {
18 if (age < 20)
19 {
20 if (gender == "male")
21 {
22 Console.WriteLine("You are a teenage boy.");
23 }
24 else
25 {
26 Console.WriteLine("You are a teenage girl.");
27 }
28 }
29 else
30 {
31 Console.WriteLine("You are already an adult.");
32 }
33 }
34 else
35 {
36 Console.WriteLine("You are still too young.");
37 }
38 }
39 }
Enter your age: 18
Enter your gender: male
You are a teenage boy.

Enter your age: 12


Enter your gender: female
You are still too young.

‫ؽ‬ٙ‫ خ‬ٜ‫ زضثبض‬14 ‫ زض ذظ‬.)11


‫س (ذظ‬ٙ‫اَ ٔی و‬ٛ‫ ؾٗ سبٖ ؾ‬ٜ‫ اظ قٕب زضثبض‬ٝٔ‫ اثشسا ثط٘ب‬.ٓ‫ی‬ٙ‫ ضا وبِجس قىبفی و‬ٝٔ‫ ثط٘ب‬ٝ‫یس و‬ٞ‫ ثس‬ٜ‫اخبظ‬
ٝٔ‫ ؾبَ ثبقس ثط٘ب‬12‫ زض ایٗ لؿٕز اٌط ؾٗ قٕب ثیكشط اظ‬.)16 ‫ ٔی ضؾس(ذظ‬if ‫ض‬ٛ‫ِیٗ زؾش‬ٚ‫ ا‬ٝ‫ ؾذؽ ث‬.‫س‬ٙ‫اَ ٔی و‬ٛ‫سبٖ اظ قٕب ؾ‬
ٖ ٝ‫یٓ و‬ٙ‫ حبَ فطو و‬.‫ز‬ٛ‫ ٔی ق‬if‫ض‬ٛ‫ٕیٗ زؾش‬ٞ ٝ‫ط ث‬ٛ‫)ٔطث‬34 ‫(ذظ‬else‫ن‬ّٛ‫اضز ث‬ٚ ‫ضر‬ٛ‫ه‬ٙ‫ز زض غیط ای‬ٛ‫ ٔی ق‬if ‫ض‬ٛ‫ زؾش‬ٝ٘‫اضز ثس‬ٚ
ٗ‫اٌط ؾ‬.‫یس‬ٙ‫ ٔی و‬ٜ‫س‬ٞ‫ زیٍط ضا ٔكب‬if ‫ض‬ٛ‫ زؾش‬ٚ‫ ز‬if ٗ‫ِی‬ٚ‫ ا‬ٝ٘‫زض ثس‬.‫ ایس‬ٜ‫ قس‬if ٗ‫ِی‬ٚ‫ ا‬ٝ٘‫اضز ثس‬ٚ ‫ قٕب‬ٚ ‫ ؾبَ اؾز‬12 ‫قٕب ثیكشط اظ‬
.) 29‫یس(ذظ‬ٚ‫بؽط ثب آٖ ٔی ض‬ٙ‫ ٔش‬else‫ لٕز‬ٝ‫ اٌط ٘جبقس ث‬ٚ ‫یس‬ٛ‫ْ ٔی ق‬ٚ‫ ز‬ifٝ٘‫ضاز ثس‬ٚ ‫ ثبقس قٕب‬20 ‫وٕشط‬

‫یس(ذظ‬ٛ‫ ٔی ق‬ٝ‫اخ‬ٛٔ ‫ زیٍط‬if ‫ ثب یه‬ٚ ٜ‫ْ قس‬ٚ‫ ز‬if ٝ٘‫اضز ثس‬ٚ ‫ضر‬ٛ‫ه‬ٙ‫زض ای‬،‫ ثبقس‬20 ‫ ؾٗ قٕب وٕشط اظ‬ٝ‫یٓ و‬ٙ‫ فطو ٔی و‬ٜ‫ثبض‬ٚ‫ز‬
‫ز زض‬ٛ‫ اخطا ٔی ق‬ifٗ‫ٔی‬ٛ‫ ؾ‬ٝ٘‫بی اذُ ثس‬ٞ‫" ثبقس وس‬male"‫ ٌط ثطاثط‬ٝ‫ضز ثطضؾی لطاض ٔی ٌیطز و‬ٛٔ ‫ؿیز قٕب‬ٙ‫دب خ‬ٙ‫ زض ای‬.)20

100
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫غیط ای‪ٙ‬ه‪ٛ‬ضر لؿٕز ‪ٔ else‬طث‪ٛ‬ط ث‪ ٝ‬ایٗ ‪ if‬اخطا ٔی ق‪ٛ‬ز(ذظ ‪ .)24‬دیك‪ٟٙ‬بز ٔی ق‪ٛ‬ز و‪ ٝ‬اظ ‪ if‬س‪ ٛ‬زض س‪ ٛ‬زض ثط٘بٔ‪ ٝ‬وٕشط اؾشفبز‪ٜ‬‬
‫و‪ٙ‬یس چ‪ ٖٛ‬ذ‪ٛ‬ا٘بیی ثط٘بٔ‪ ٝ‬ضا دبییٗ ٔی آ‪ٚ‬ضز‪.‬‬

‫اػسفادُ اص ػولگشّای هٌطمی‬

‫فٍّٕط‪ٞ‬بی ٔ‪ٙ‬غمی ث‪ ٝ‬قٕب اخبظ‪ٔ ٜ‬ی ز‪ٙٞ‬س و‪ ٝ‬چ‪ٙ‬سیٗ قطط ضا ثب ‪ ٓٞ‬سطویت و‪ٙ‬یس‪ .‬ایٗ فٍّٕط‪ٞ‬ب حسالُ ز‪ ٚ‬قطط ضا زض ٌیط ٔی‬
‫و‪ٙٙ‬س ‪ ٚ‬زض آذط یه ٔمساض ث‪ِٛ‬ی ضا ثط ٔی ٌطزا٘‪ٙ‬س‪.‬زض خس‪ َٚ‬ظیط ثطذی اظ فٍّٕط‪ٞ‬بی ٔ‪ٙ‬غمی آٔس‪ ٜ‬اؾز ‪:‬‬

‫فٍّٕط‬ ‫سّفؼ‬ ‫ٔثبَ‬ ‫سبثیط‬


‫ٔمساض ‪ Z‬زض ن‪ٛ‬ضسی ‪ true‬اؾز و‪ٞ ٝ‬ط ز‪ ٚ‬قطط ز‪ ٚ‬عطف فٍّٕط‬
‫&&‬ ‫‪ false‬ثبقس )‪And z = (x > 2) && (y < 10‬‬ ‫ٔمساضقبٖ ‪ true‬ثبقس‪ .‬اٌط فمظ ٔمساض یىی اظ قط‪ٚ‬ط‬
‫ٔمساض ‪ false ،z‬ذ‪ٛ‬ا‪ٞ‬س قس‪.‬‬
‫ٔمساض ‪ Z‬زض ن‪ٛ‬ضسی ‪ true‬اؾز و‪ ٝ‬یىی اظ ز‪ ٚ‬قطط ز‪ ٚ‬عطف فٍّٕط‬
‫ٔمساضقبٖ ‪ true‬ثبقس‪ .‬اٌط ‪ٞ‬ط ز‪ ٚ‬قطط ٔمساضقبٖ‪ false‬ثبقس ٔمساض ‪،z‬‬
‫||‬ ‫‪Or‬‬ ‫)‪z = (x > 2) || (y < 10‬‬ ‫‪ false‬ذ‪ٛ‬ا‪ٞ‬س قس‪.‬‬

‫ٔمساض ‪ Z‬زض ن‪ٛ‬ضسی ‪ true‬اؾز و‪ٔ ٝ‬مساض قطط ‪ false‬ثبقس ‪ ٚ‬زض‬


‫ن‪ٛ‬ضسی ‪ false‬اؾز و‪ٔ ٝ‬مساض قطط‪ true‬ثبقس‪.‬‬
‫!‬ ‫‪Not‬‬ ‫)‪z = !(x > 2‬‬

‫ث‪ ٝ‬ف‪ٛٙ‬اٖ ٔثبَ خّٕ‪ z = (x > 2) && (y < 10) ٝ‬ضا ث‪ ٝ‬ایٗ ن‪ٛ‬ضر ثر‪ٛ‬ا٘یس ‪" :‬زض ن‪ٛ‬ضسی ٔمساض ‪ z‬ثطاثط ‪ true‬اؾز و‪ٔ ٝ‬مساض ‪x‬‬
‫ثعضٌشط اظ ‪ٔ ٚ 2‬مساض ‪ y‬و‪ٛ‬چىشط اظ ‪ 10‬ثبقس زض غیط ای‪ٙ‬ه‪ٛ‬ضر ‪ false‬اؾز"‪ .‬ایٗ خّٕ‪ ٝ‬ثسیٗ ٔق‪ٙ‬بؾز و‪ ٝ‬ثطای ای‪ٙ‬ى‪ٔ ٝ‬مساض وُ‬
‫زؾش‪ٛ‬ض ‪ true‬ثبقس ثبیس ٔمساض ‪ ٕٝٞ‬قط‪ٚ‬ط‪ true‬ثبقس‪.‬‬

‫فٍّٕط ٔ‪ٙ‬غمی ‪ )||( OR‬سبثیط ٔشفب‪ٚ‬سی ٘ؿجز ث‪ ٝ‬فٍّٕط ٔ‪ٙ‬غمی ‪ )&&( AND‬زاضز‪٘ .‬شید‪ ٝ‬فٍّٕط ٔ‪ٙ‬غمی ‪ OR‬ثطاثط ‪ true‬اؾز‬
‫‪٘ true‬جبقس ٘شید‪ false ٝ‬ذ‪ٛ‬ا‪ٞ‬س قس‪ٔ .‬ی س‪ٛ‬اٖ‬ ‫اٌط فمظ ٔمساض یىی اظ قط‪ٚ‬ط ‪ true‬ثبقس‪ ٚ .‬اٌط ٔمساض ‪ٞ‬یچ یه اظ قط‪ٚ‬ط‬
‫فٍّٕط‪ٞ‬بی ٔ‪ٙ‬غمی‪ OR ٚ AND‬ضا ثب ‪ ٓٞ‬سطویت وطز‪ ٚ ٜ‬زض یه فجبضر ث‪ ٝ‬وبض ثطز ٔب٘‪ٙ‬س ‪:‬‬

‫) ) )‪if ( (x == 1) && ( (y > 3) || z < 10‬‬


‫{‬
‫‪//do something here‬‬
‫}‬

‫‪101‬‬
www.w3-farsi.com ‫یًَغ اتشاّیوی‬: ِ‫زالیف ٍ زشجو‬ ‫هثاًی صتاى ػی ؿاسج‬

(y > 3) || (z <‫دب اثشسا فجبضر‬ٙ‫ زض ای‬.ٓ‫ی‬ٙ‫ ٔی و‬ٜ‫ب اؾشفبز‬ٟ‫سی قطع‬ٙ‫ ث‬ٜٚ‫ٖ اظ آٖ زض ٌط‬ٛ‫ٓ اؾز چ‬ٟٔ ‫ اظ دطا٘شع‬ٜ‫دب اؾشفبز‬ٙ‫زض ای‬
‫ ٔی‬ٝ‫( ٔمبیؿ‬x == 1) ٝ‫ ثب ٘شید‬AND‫ فٍّٕط‬ّٝ‫ؾی‬ٛ‫ آٖ ث‬ٝ‫ب) ؾذؽ ٘شید‬ٞ‫ فّز سمسْ فٍّٕط‬ٝ‫( ث‬.‫ضز ثطضؾی لطاض ٔی ٌیطز‬ٛٔ 10)
: ٓ‫ی‬ٞ‫ضز ثطضؾی لطاض ز‬ٛٔ ‫ ضا‬ٝٔ‫غمی زض ثط٘ب‬ٙٔ ‫بی‬ٞ‫ اظ فٍّٕط‬ٜ‫ اؾشفبز‬ٜٛ‫ حبَ ثیبییس ٘ح‬.‫ز‬ٛ‫ق‬

using System;

public class Program


{
public static void Main()
{
int age;
string gender;

Console.Write("Enter your age: ");


age = Convert.ToInt32(Console.ReadLine());

Console.Write("Enter your gender (male/female): ");


gender = Console.ReadLine();

if (age > 12 && age < 20)


{
if (gender == "male")
{
Console.WriteLine("You are a teenage boy.");
}
else
{
Console.WriteLine("You are a teenage girl.");
}
}
else
{
Console.WriteLine("You are not a teenager.");
}
}
}
Enter your age: 18
Enter your gender (male/female): female
You are a teenage girl.

Enter you age: 10


Enter your gender (male/female): male
You are not a teenager.

ٗ‫ ؾ‬ٝٔ‫) ثط٘ب‬16 ‫ ٔی ضؾیس (ذظ‬if ‫ض‬ٛ‫ زؾش‬ٝ‫لشی ث‬ٚ .)16 ‫س (ذظ‬ٞ‫ ضا ٘كبٖ ٔی ز‬AND‫غمی‬ٙٔ ‫ اظ فٍّٕط‬ٜ‫ اؾشفبز‬ٜٛ‫ ثبال ٘ح‬ٝٔ‫ثط٘ب‬
‫ ثبقس‬true ٚ‫ط ز‬ٞ ‫ی ٔمساض‬ٙ‫ ثبقس) یق‬20ٚ 12 ٗ‫ ثبقس (ؾٗ سبٖ ثی‬20 ‫چىشط اظ‬ٛ‫ و‬ٚ 12‫اٌط ؾٗ قٕب ثعضٌشط اظ‬.‫س‬ٙ‫قٕب ضا چه ٔی و‬
.‫ز‬ٛ‫ اخطا ٔی ق‬else‫ن‬ّٛ‫بی زاذُ ث‬ٞ‫ ثبقس وس‬false‫ط‬ٚ‫ یىی اظ قط‬ٝ‫اٌط ٘شید‬.‫٘س‬ٛ‫ اخطا ٔی ق‬if‫ن‬ّٛ‫بی زاذُ ث‬ٞ‫ؾذؽ وس‬

102
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫فٍّٕط ‪ AND‬فّٕ‪٘ٛ‬س ؾٕز چخ ضا ٔ‪ٛ‬ضز ثطضؾی لطاض ٔی ز‪ٞ‬س‪.‬اٌط ٔمساض آٖ‪ false‬ثبقس زیٍط فّٕ‪٘ٛ‬س ؾٕز ضاؾز ضا ثطضؾی ٕ٘ی‬
‫و‪ٙ‬س ‪ٔ ٚ‬مساض ‪ false‬ضا ثط ٔی ٌطزا٘س‪ .‬ثط فىؽ فٍّٕط|| فّٕ‪٘ٛ‬س ؾٕز چخ ضا ٔ‪ٛ‬ضز ثطضؾی لطاض ٔی ز‪ٞ‬س ‪ ٚ‬اٌط ٔمساض آٖ‪ true‬ثبقس‬
‫ؾذؽ فّٕ‪٘ٛ‬س ؾٕز ضاؾز ضا ٘بزیس‪ٔ ٜ‬ی ٌیطز ‪ٔ ٚ‬مساض‪ true‬ضا ثط ٔی ٌطزا٘س‪٘ .‬ىش‪ ٟٓٔ ٝ‬ای‪ٙ‬دبؾز و‪ ٝ‬قٕب ٔی س‪ٛ‬ا٘یس اظ فٍّٕط‪ٞ‬بی‬
‫& ‪ | ٚ‬ث‪ ٝ‬ف‪ٛٙ‬اٖ فٍّٕط ثیشی اؾشفبز‪ ٜ‬و‪ٙ‬یس‪.‬‬

‫)‪if (x == 2 & y == 3‬‬


‫{‬
‫‪//Some code here‬‬
‫}‬

‫)‪if (x == 2 | y == 3‬‬
‫{‬
‫‪//Some code here‬‬
‫}‬

‫سفب‪ٚ‬ر خعئی ایٗ فٍّٕط‪ٞ‬ب ‪ٚ‬لشی و‪ ٝ‬ث‪ ٝ‬ف‪ٛٙ‬اٖ فٍّٕط ثیشی ث‪ ٝ‬وبض ٔی ض‪٘ٚ‬س ایٗ اؾز و‪ ٝ‬ز‪ ٚ‬فّٕ‪٘ٛ‬س ضا ثس‪ ٖٚ‬زض ٘ؾط ٌطفشٗ ٔمساض‬
‫فّٕ‪٘ٛ‬س ؾٕز چخ ٔ‪ٛ‬ضز ثطضؾی لطاض ٔی ز‪ٙٞ‬س‪ .‬ث‪ ٝ‬ف‪ٛٙ‬اٖ ٔثبَ حشی اٌط ٔمساض فّٕ‪٘ٛ‬س ؾٕز چخ‪ false‬ثبقس فّٕ‪٘ٛ‬س ؾٕز چخ‬
‫ث‪ٚ ٝ‬ؾیّ‪ ٝ‬فٍّٕط ثیشی ‪ )& ( AND‬اضظیبثی ٔی ق‪ٛ‬ز‪ .‬اٌط قطع‪ٟ‬ب ضا زض ثط٘بٔ‪ ٝ‬سطویت و‪ٙ‬یس اؾشفبز‪ ٜ‬اظ فٍّٕط‪ٞ‬بی ٔ‪ٙ‬غمی ‪AND‬‬
‫)&&( ‪ OR (||) ٚ‬ث‪ ٝ‬خبی فٍّٕط‪ٞ‬بی ثیشی )&(‪ OR (|) ٚ AND‬ث‪ٟ‬شط ذ‪ٛ‬ا‪ٞ‬س ث‪ٛ‬ز‪ .‬یىی زیٍط اظ فٍّٕط‪ٞ‬بی ٔ‪ٙ‬غمی فٍّٕط‬
‫‪ )!( NOT‬اؾز و‪٘ ٝ‬شید‪ ٝ‬یه فجبضر ضا ذ‪ٙ‬ثی یب ٔ‪ٙ‬فی ٔی و‪ٙ‬س‪.‬ث‪ٔ ٝ‬ثبَ ظیط س‪ٛ‬خ‪ ٝ‬و‪ٙ‬یس‪:‬‬

‫))‪if (!(x == 2‬‬


‫{‬
‫;)"‪Console.WriteLine("x is not equal to 2.‬‬
‫}‬

‫اٌط ٘شید‪ ٝ‬فجبضر ‪ x == 2‬ثطاثط ‪ false‬ثبقس فٍّٕط ! آٖ ضا ‪ٔ True‬ی و‪ٙ‬س‪.‬‬

‫دػسَس ‪Switch‬‬

‫زض ؾی قبضح ؾبذشبضی ث‪٘ ٝ‬بْ‪ٚ switch‬خ‪ٛ‬ز زاضز و‪ ٝ‬ث‪ ٝ‬قٕب اخبظ‪ٔ ٜ‬ی ز‪ٞ‬س و‪ ٝ‬ثب س‪ٛ‬خ‪ ٝ‬ث‪ٔ ٝ‬مساض ثبثز یه ٔشغیط چ‪ٙ‬سیٗ ا٘شربة‬
‫زاقش‪ ٝ‬ثبقیس‪ .‬زؾش‪ٛ‬ض ‪ٔ switch‬قبزَ زؾش‪ٛ‬ض ‪ if‬س‪ ٛ‬زض س‪ ٛ‬اؾز ثب ایٗ سفب‪ٚ‬ر و‪ ٝ‬زض زؾش‪ٛ‬ض ‪ٔ switch‬شغیط فمظ ٔمبزیط ثبثشی اظ‬
‫افساز ‪ ،‬ضقش‪ٞ ٝ‬ب ‪ ٚ‬یب وبضاوشط‪ٞ‬ب ضا لج‪ٔ َٛ‬ی و‪ٙ‬س‪ٔ .‬مبزیط ثبثز ٔمبزیطی ‪ٞ‬ؿش‪ٙ‬س و‪ ٝ‬لبثُ سغیط ٘یؿش‪ٙ‬س‪ .‬زض ظیط ٘ح‪ ٜٛ‬اؾشفبز‪ ٜ‬اظ‬
‫زؾش‪ٛ‬ض ‪ switch‬آٔس‪ ٜ‬اؾز ‪:‬‬

‫)‪switch (testVar‬‬
‫{‬
‫‪case compareVal1:‬‬
‫;‪code to execute if testVar == compareVa11‬‬

‫‪103‬‬
www.w3-farsi.com ‫یًَغ اتشاّیوی‬: ِ‫زالیف ٍ زشجو‬ ‫هثاًی صتاى ػی ؿاسج‬

break;
case compareVa12:
code to execute if testVar == compareVa12;
break;
.
.
.
case compareVa1N:
code to execute if testVer == compareVa1N;
break;
default:
code to execute if none of the values above match the testVar;
break;
}

ُ‫ زاذ‬case ‫بی‬ٟ‫ط یه اظ فجبضس‬ٞ ‫ایٗ ٔمساض ثب‬.‫یس‬ٞ‫ اؾز لطاض ٔی ز‬testVar ‫ زض ٔثبَ ثبال‬ٝ‫ و‬switch ‫اثشسا یه ٔمساض زض ٔشغیط‬
case ٖ‫ آ‬ٝ‫ط ث‬ٛ‫ز وس ٔطث‬ٛ‫ ثطاثط ث‬case‫ضار‬ٛ‫ز زض زؾش‬ٛ‫خ‬ٛٔ ‫ط یه اظ ٔمبزیط‬ٞ ‫ اٌط ٔمساض ٔشغیط ثب‬.‫ز‬ٛ‫ ٔی ق‬ٝ‫ ٔمبیؿ‬switch ‫ن‬ّٛ‫ث‬
‫الز‬ٛ‫ اظ یىی ثیكشط ثبقس ٘جبیس اظ آو‬case ‫ض‬ٛ‫بی زاذُ زؾش‬ٞ‫ حشی اٌط سقساز ذظ وس‬ٝ‫یس و‬ٙ‫ و‬ٝ‫خ‬ٛ‫ س‬ٝ‫ ایٗ ٘ىش‬ٝ‫ ث‬.‫س قس‬ٞ‫ا‬ٛ‫اخطا ذ‬
switch ‫ض‬ٛ‫ اظ زؾش‬ٝٔ‫ز ثط٘ب‬ٛ‫ ثبفث ٔی ق‬ٝ‫ز و‬ٛ‫ ٔی ق‬ٜ‫ سكریم زاز‬break ‫ وّیسی‬ّٕٝ‫ ثب و‬case ‫ض‬ٛ‫ط زؾش‬ٞ ‫ آذط‬.ٓ‫ی‬ٙ‫ و‬ٜ‫اؾشفبز‬
.‫ز‬ٛ‫ ٔی ق‬ٝ‫اخ‬ٛٔ ‫ ثب ذغب‬ٝٔ‫فشس ثط٘ب‬ٛ‫ وّیسی اظ لّٓ ثی‬ّٕٝ‫ اٌط ایٗ و‬.‫٘س‬ٛ‫ضار ثقس اظ آٖ اخطا ق‬ٛ‫زؾش‬ٚ ٜ‫ذبضج قس‬

‫ضار‬ٛ‫یچ یه اظ ٔمبزیط زؾش‬ٞ ‫ ٔمساض ٔشغیط ثب‬ٝ‫ز و‬ٛ‫ضسی اخطا ٔی ق‬ٛ‫ض زض ن‬ٛ‫ ایٗ زؾش‬.‫ زاضز‬default ‫ یه ثرف‬switch ‫ض‬ٛ‫زؾش‬
ٓٞ ‫ض‬ٛ‫ ٔىبٖ ایٗ زؾش‬.‫یچ اسفبلی ٕ٘ی افشس‬ٞ ‫ز‬ٛ‫ حصف ق‬switch ٝ٘‫ اٌط اظ ثس‬ٚ ‫ اذشیبضی اؾز‬default ‫ض‬ٛ‫ زؾش‬.‫ ثطاثط ٘جبقس‬case
: ‫یس‬ٙ‫ و‬ٝ‫خ‬ٛ‫ س‬switch
‫ض‬ٛ‫ضز زؾش‬ٛٔ ‫ ٔثبِی زض‬ٝ‫ ث‬.‫س‬ٙ‫یؿ‬ٛ٘ ‫ضار ٔی‬ٛ‫ٓ ٘یؿز أب ثط عجك سقطیف آٖ ضا زض دبیبٖ زؾش‬ٟٔ

1 using System;
2
3 public class Program
4 {
5 public static void Main()
6 {
7 int choice;
8
9 Console.WriteLine("What's your favorite pet?");
10 Console.WriteLine("[1] Dog");
11 Console.WriteLine("[2] Cat");
12 Console.WriteLine("[3] Rabbit");
13 Console.WriteLine("[4] Turtle");
14 Console.WriteLine("[5] Fish");
15 Console.WriteLine("[6] Not in the choices");
16 Console.Write("\nEnter your choice: ");
17
18 choice = Convert.ToInt32(Console.ReadLine());
19
20 switch (choice)
21 {
22 case 1:
23 Console.WriteLine("Your favorite pet is Dog.");
24 break;

104
www.w3-farsi.com ‫یًَغ اتشاّیوی‬: ِ‫زالیف ٍ زشجو‬ ‫هثاًی صتاى ػی ؿاسج‬

25 case 2:
26 Console.WriteLine("Your favorite pet is Cat.");
27 break;
28 case 3:
29 Console.WriteLine("Your favorite pet is Rabbit.");
30 break;
31 case 4:
32 Console.WriteLine("Your favorite pet is Turtle.");
33 break;
34 case 5:
35 Console.WriteLine("Your favorite pet is Fish.");
36 break;
37 case 6:
38 Console.WriteLine("Your favorite pet is not in the choices.");
39 break;
40 default:
41 Console.WriteLine("You don't have a favorite pet.");
42 break;
43 }
}
}
What's your favorite pet?
[1] Dog
[2] Cat
[3] Rabbit
[4] Turtle
[5] Fish
[6] Not in the choices

Enter your choice: 2


Your favorite pet is Cat.

What's your favorite pet?


[1] Dog
[2] Cat
[3] Rabbit
[4] Turtle
[5] Fish
[6] Not in the choices

Enter your choice: 99


You don't have a favorite pet.

‫ قٕب فسز ضا‬.‫ اؾز‬ٜ‫ قس‬ٜ‫اٖ یه فسز ٘ؿجز زاز‬ٛ‫ط حی‬ٞ ٓ‫ اؾ‬ٝ‫ ث‬.‫س‬ٞ‫ سبٖ ضا ٔی ز‬ٝ‫ضز فالل‬ٛٔ ٖ‫ا‬ٛ‫ ا٘شربة حی‬ٜ‫ قٕب اخبظ‬ٝ‫ ثبال ث‬ٝٔ‫ثط٘ب‬
‫بؾت‬ٙٔ ْ‫ز دیغب‬ٛ‫ ثطاثط ث‬ٝ‫ط وساْ اظ آٖ ٔمبزیط و‬ٞ ‫ ثب‬ٚ ‫ز‬ٛ‫ ٔی ق‬ٝ‫ ٔمبیؿ‬case ‫ ثب ٔمبزیط‬switch‫ض‬ٛ‫ ایٗ فسز زض زؾش‬ٚ ‫یس‬ٙ‫اضز ٔی و‬ٚ
.‫ز‬ٛ‫ اخطا ٔی ق‬default‫ض‬ٛ‫ زؾش‬،‫ز‬ٛ‫ب ثطاثط ٘ج‬ٞ case‫یچ وساْ اظ ٔمبزیط‬ٞ ‫ٓ ثب‬ٞ ‫ اٌط‬.‫س قس‬ٞ‫ا‬ٛ‫ ذ‬ٜ‫ٕ٘بیف زاز‬

105
www.w3-farsi.com ‫یًَغ اتشاّیوی‬: ِ‫زالیف ٍ زشجو‬ ‫هثاًی صتاى ػی ؿاسج‬

ٜ‫ وس اؾشفبز‬ٝ‫ف‬ٕٛ‫ یه ٔد‬ٜ‫ ثطای ٘كبٖ زاز‬case‫س‬ٙ‫ یب چ‬ٚ‫ا٘یس اظ ز‬ٛ‫ قٕب ٔی س‬ٝ‫ ایٗ اؾز و‬switch‫ض‬ٛ‫بی زؾش‬ٟ‫یػٌی‬ٚ ‫یىی زیٍط اظ‬
ٝ‫قش‬ٛ٘ ٓٞ ‫ب ثبیس دكز ؾط‬ٞ case ٝ‫یس و‬ٙ‫ و‬ٝ‫خ‬ٛ‫ س‬.‫ز‬ٛ‫ ثبقس یه وس اخطا ٔی ق‬3 ‫ یب‬2 ،1 ، number ‫ زض ٔثبَ ظیط اٌط ٔمساض‬.‫یس‬ٙ‫و‬
.‫٘س‬ٛ‫ق‬

switch (number)
{
case 1:
case 2:
case 3:
Console.WriteLine("This code is shared by three values.");
break;
}

: ‫قز‬ٛ٘ ٖ‫ا‬ٛ‫ضر ظیط ٘یع ٔی س‬ٛ‫ ن‬ٝ‫ ثبال ضا ث‬ٝٔ‫ ثط٘ب‬.‫ اؾز‬ٛ‫ زض س‬ٛ‫ س‬if‫ض‬ٛ‫ ٔقبزَ زؾش‬switch‫ض‬ٛ‫ لجال شوط قس زؾش‬ٝ‫ض و‬ٛ‫ٕب٘غ‬ٞ

if (choice == 1)
Console.WriteLine("Your favorite pet is Dog.");
else if (choice == 2)
Console.WriteLine("Your favorite pet is Cat.");
else if (choice == 3)
Console.WriteLine("Your favorite pet is Rabbit.");
else if (choice == 4)
Console.WriteLine("Your favorite pet is Turtle.");
else if (choice == 5)
Console.WriteLine("Your favorite pet is Fish.");
else if (choice == 6)
Console.WriteLine("Your favorite pet is not in the choices.");
else
Console.WriteLine("You don't have a favorite pet.");

‫ض‬ٛ‫ زؾش‬ٚ‫ حبَ اظ ثیٗ ایٗ ز‬.‫ ٔی ثبقس‬else ‫ض‬ٛ‫ ٔقبزَ زؾش‬default ‫ض‬ٛ‫ زؾش‬.‫ زاضز‬switch ‫ض‬ٛ‫س زؾش‬ٙ٘‫ ای ٔب‬ٝ‫وس ثبال زلیمب ٘شید‬
‫یٓ ثب زیٍط‬ٞ‫ا‬ٛ‫ ٔی ذ‬ٝ‫ ٔمساضی و‬ٝ‫یٓ و‬ٙ‫ ٔی و‬ٜ‫لقی اؾشفبز‬ٛٔ switch ‫ض‬ٛ‫ اظ زؾش‬.ٓ‫ی‬ٙ‫ ) وسأیه ضا ا٘شربة و‬if else ٚ switch(
.‫یس‬ٙ‫ ٘ى‬ٜ‫ اؾشفبز‬switch‫ اظ‬ٜ‫یچٍب‬ٞ ‫ ٔثال زض ٔثبَ ظیط‬.‫ز ثبثز ثبقس‬ٛ‫ ق‬ٝ‫ٔمبزیط ٔمبیؿ‬

int myNumber = 5;
int x = 5;

switch (myNumber)
{
case x:
Console.WriteLine("Error, you can't use variables as a value" +
" to be compared in a case statment.");
break;
}

106
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫ٔكب‪ٞ‬س‪ٔ ٜ‬ی و‪ٙ‬یس و‪ ٝ‬ثب ای‪ٙ‬ى‪ٔ ٝ‬مساض‪ x‬فسز ‪ 5‬اؾز ‪ ٚ‬ث‪ ٝ‬ع‪ٛ‬ض ‪ٚ‬اضح ثب ٔشغیط‪ٔ myNumber‬مبیؿ‪ ٝ‬قس‪ ٜ‬اؾز ثط٘بٔ‪ ٝ‬ذغب ٔی ز‪ٞ‬س‬
‫چ‪ x ٖٛ‬یه ثبثز ٘یؿز ثّى‪ ٝ‬یه ٔشغیط اؾز یب ث‪ ٝ‬ظثبٖ ؾبز‪ ٜ‬سط ‪،‬لبثّیز سغییط ضا زاضز‪ .‬اٌط ثر‪ٛ‬ا‪ٞ‬یس اظ‪ x‬اؾشفبز‪ ٜ‬و‪ٙ‬یس ‪ ٚ‬ثط٘بٔ‪ٝ‬‬
‫ذغب ٘س‪ٞ‬س ثبیس اظ وّٕ‪ ٝ‬وّیسی‪ const‬ث‪ ٝ‬ن‪ٛ‬ضر ظیط اؾشفبز‪ ٜ‬و‪ٙ‬یس‪.‬‬

‫;‪int myNumber = 5‬‬


‫;‪const int x = 5‬‬

‫)‪switch (myNumber‬‬
‫{‬
‫‪case x:‬‬
‫;)"!‪Console.WriteLine("Error has been fixed‬‬
‫;‪break‬‬
‫}‬

‫اظ وّٕ‪ ٝ‬وّیسی ‪ const‬ثطای ایدبز ثبثش‪ٟ‬ب اؾشفبز‪ٔ ٜ‬ی ق‪ٛ‬ز‪ .‬س‪ٛ‬خ‪ ٝ‬و‪ٙ‬یس و‪ ٝ‬ثقس اظ سقطیف یه ثبثز ٕ٘ی س‪ٛ‬اٖ ٔمساض آٖ ضا زض ع‪َٛ‬‬
‫ثط٘بٔ‪ ٝ‬سغییط زاز‪ .‬ث‪ ٝ‬یبز زاقش‪ ٝ‬ثبقیس و‪ ٝ‬ثبیس ثبثش‪ٟ‬ب ضا حشٕب ٔمساضز‪ٞ‬ی و‪ٙ‬یس‪ .‬زؾش‪ٛ‬ض ‪ switch‬یه ٔمساض ضا ثب ٔمبزیط ‪ٞ Case‬ب‬
‫ٔمبیؿ‪ٔ ٝ‬ی و‪ٙ‬س ‪ ٚ‬قٕب الظْ ٘یؿز و‪ ٝ‬ث‪ ٝ‬قىُ ظیط ٔمبزیط ضا ثب ‪ٔ ٓٞ‬مبیؿ‪ ٝ‬و‪ٙ‬یس ‪:‬‬

‫)‪switch (myNumber‬‬
‫{‬
‫‪case x > myNumber:‬‬
‫‪Console.WriteLine("switch staments can't test if a value is less than " +‬‬
‫;)"‪"or greater than the other value.‬‬
‫;‪break‬‬
‫}‬

‫زىشاس‬
‫ؾبذشبض‪ٞ‬بی سىطاض ث‪ ٝ‬قٕب اخبظ‪ٔ ٜ‬ی ز‪ٙٞ‬س و‪ ٝ‬یه یب چ‪ٙ‬س زؾش‪ٛ‬ض وس ضا سب ظٔب٘ی و‪ ٝ‬یه قطط ثطلطاض اؾز سىطاض و‪ٙ‬یس‪.‬ثس‪ٖٚ‬‬
‫‪ 10‬ثبض خّٕ‪ٝ‬‬ ‫ؾبذشبض‪ٞ‬بی سىطاض قٕب ٔدج‪ٛ‬ضیس ‪ٕٞ‬بٖ سقساز وس‪ٞ‬ب ضا ث‪ٛٙ‬یؿیس و‪ ٝ‬ثؿیبض ذؿش‪ ٝ‬و‪ٙٙ‬س‪ ٜ‬اؾز‪ٔ.‬ثال قٕب ٔدج‪ٛ‬ضیس‬
‫”‪ “Hello World.‬ضا سبیخ و‪ٙ‬یس ٔب٘‪ٙ‬س ٔثبَ ظیط ‪:‬‬

‫‪Console.WriteLine("Hello‬‬ ‫;)"‪World.‬‬
‫‪Console.WriteLine("Hello‬‬ ‫;)"‪World.‬‬
‫‪Console.WriteLine("Hello‬‬ ‫;)"‪World.‬‬
‫‪Console.WriteLine("Hello‬‬ ‫;)"‪World.‬‬
‫‪Console.WriteLine("Hello‬‬ ‫;)"‪World.‬‬
‫‪Console.WriteLine("Hello‬‬ ‫;)"‪World.‬‬
‫‪Console.WriteLine("Hello‬‬ ‫;)"‪World.‬‬
‫‪Console.WriteLine("Hello‬‬ ‫;)"‪World.‬‬
‫‪Console.WriteLine("Hello‬‬ ‫;)"‪World.‬‬

‫‪107‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫;)"‪Console.WriteLine("Hello World.‬‬

‫اِجش‪ ٝ‬قٕب ٔی س‪ٛ‬ا٘یس ثب وذی وطزٖ ایٗ سقساز وس ضا ضاحز ث‪ٛٙ‬یؿیس ‪ِٚ‬ی ایٗ وبض زض وُ ویفیز وس٘‪ٛ‬یؿی ضا دبییٗ ٔی ا‪ٚ‬ضز‪.‬ضا ث‪ٟ‬شط‬
‫ثطای ٘‪ٛ‬قشٗ وس‪ٞ‬بی ثبال اؾشفبز‪ ٜ‬اظ حّم‪ٞ ٝ‬ب اؾز‪ .‬ؾبذشبض‪ٞ‬بی سىطاض زض ؾی قبضح فجبضس‪ٙ‬س اظ ‪:‬‬

‫‪while‬‬ ‫‪‬‬
‫‪do while‬‬ ‫‪‬‬
‫‪for‬‬ ‫‪‬‬

‫حلمِ ‪While‬‬

‫اثشسایی سطیٗ ؾبذشبض سىطاض زض ؾی قبضح حّم‪ While ٝ‬اؾز‪ .‬اثشسا یه قطط ضا ٔ‪ٛ‬ضز ثطضؾی لطاض ٔی ز‪ٞ‬س ‪ ٚ‬سب ظٔب٘یى‪ ٝ‬قطط‬
‫ثطلطاض ثبقس وس‪ٞ‬بی زض‪ ٖٚ‬ثّ‪ٛ‬ن اخطا ٔی ق‪٘ٛ‬س‪ .‬ؾبذشبض حّم‪ whileٝ‬ث‪ ٝ‬ن‪ٛ‬ضر ظیط اؾز ‪:‬‬

‫)‪while(condition‬‬
‫{‬
‫;‪code to loop‬‬
‫}‬

‫ٔی ثی‪ٙ‬یس و‪ ٝ‬ؾبذشبض ‪ٔ while‬ب٘‪ٙ‬س ؾبذشبض ‪ if‬ثؿیبض ؾبز‪ ٜ‬اؾز‪ .‬اثشسا یه قطط ضا و‪٘ ٝ‬شید‪ ٝ‬آٖ یه ٔمساض ث‪ِٛ‬ی اؾز ٔی ٘‪ٛ‬یؿیٓ‬
‫اٌط ٘شید‪ ٝ‬زضؾز یب ‪ true‬ثبقس ؾذؽ وس‪ٞ‬بی زاذُ ثّ‪ٛ‬ن‪ while‬اخطا ٔی ق‪٘ٛ‬س‪ .‬اٌط قطط غّظ یب‪ false‬ثبقس ‪ٚ‬لشی و‪ ٝ‬ثط٘بٔ‪ ٝ‬ث‪ٝ‬‬
‫‪ while‬انالح ق‪٘ٛ‬س‪.‬‬
‫حّم‪ while ٝ‬ثطؾس ‪ٞ‬یچىساْ اظ وس‪ٞ‬ب ضا اخطا ٕ٘ی و‪ٙ‬س‪ .‬ثطای ٔش‪ٛ‬لف قسٖ حّم‪ ٝ‬ثبیس ٔمبزیط زاذُ حّم‪ٝ‬‬

‫ث‪ ٝ‬یه ٔشغیط قٕبض٘س‪ ٜ‬زض زاذُ ثس٘‪ ٝ‬حّم‪٘ ٝ‬یبظ زاضیٓ‪ .‬ایٗ قٕبض٘س‪ ٜ‬ثطای آظٔبیف قطط ٔ‪ٛ‬ضز اؾشفبز‪ ٜ‬لطاض ٔی ٌیطز ‪ ٚ‬ازأ‪ ٝ‬یب‬
‫س‪ٛ‬لف حّم‪ ٝ‬ث‪ٛ٘ ٝ‬فی ث‪ ٝ‬آٖ ‪ٚ‬اثؿش‪ ٝ‬اؾز‪ .‬ایٗ قٕبض٘س‪ ٜ‬ضا زض زاذُ ثس٘‪ ٝ‬ثبیس وب‪ٞ‬ف یب افعایف ز‪ٞ‬یٓ‪ .‬زض ثط٘بٔ‪ ٝ‬ظیط ٘ح‪ ٜٛ‬اؾشفبز‪ٜ‬‬
‫اظ حّم‪ while ٝ‬آٔس‪ ٜ‬اؾز ‪:‬‬

‫‪1‬‬ ‫;‪using System‬‬


‫‪2‬‬
‫‪3‬‬ ‫‪public class Program‬‬
‫‪4‬‬ ‫{‬
‫‪5‬‬ ‫)(‪public static void Main‬‬
‫‪6‬‬ ‫{‬
‫‪7‬‬ ‫;‪int counter = 1‬‬
‫‪8‬‬
‫‪9‬‬ ‫)‪while (counter <= 10‬‬
‫‪10‬‬ ‫{‬
‫‪11‬‬ ‫;)"!‪Console.WriteLine("Hello World‬‬
‫‪12‬‬ ‫;‪counter++‬‬
‫‪13‬‬ ‫}‬
‫‪14‬‬
‫‪15‬‬ ‫}‬
‫‪16‬‬ ‫}‬

‫‪108‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫‪Hello‬‬ ‫!‪World‬‬
‫‪Hello‬‬ ‫!‪World‬‬
‫‪Hello‬‬ ‫!‪World‬‬
‫‪Hello‬‬ ‫!‪World‬‬
‫‪Hello‬‬ ‫!‪World‬‬
‫‪Hello‬‬ ‫!‪World‬‬
‫‪Hello‬‬ ‫!‪World‬‬
‫‪Hello‬‬ ‫!‪World‬‬
‫‪Hello‬‬ ‫!‪World‬‬
‫‪Hello‬‬ ‫!‪World‬‬

‫ثط٘بٔ‪ ٝ‬ثبال ‪ 10‬ثبض دیغبْ !‪ Hello World‬ضا چبح ٔی و‪ٙ‬س‪ .‬اٌط اظ حّم‪ ٝ‬زض ٔثبَ ثبال اؾشفبز‪ٕ٘ ٜ‬ی وطزیٓ ٔدج‪ٛ‬ض ث‪ٛ‬زیٓ سٕبْ‪ 10‬ذظ‬
‫ضا سبیخ و‪ٙ‬یٓ‪ .‬اخبظ‪ ٜ‬ز‪ٞ‬یس و‪ٍ٘ ٝ‬ب‪ٞ‬ی ث‪ ٝ‬وس‪ٞ‬بی ثط٘بٔ‪ ٝ‬ف‪ٛ‬ق ثی‪ٙ‬ساظیٓ‪ .‬اثشسا زض ذظ‪ 7‬یه ٔشغیط سقطیف ‪ ٚ‬اظ آٖ ث‪ ٝ‬ف‪ٛٙ‬اٖ قٕبض٘س‪ٜ‬‬
‫حّم‪ ٝ‬اؾشفبز‪ ٜ‬قس‪ ٜ‬اؾز‪.‬ؾذؽ ث‪ ٝ‬آٖ ٔمساض ‪ 1‬ضا اذشهبل ٔی ز‪ٞ‬یٓ چ‪ ٖٛ‬اٌط ٔمساض ٘ساقش‪ ٝ‬ثبقس ٕ٘ی س‪ٛ‬اٖ زض قطط اظ آٖ‬
‫اؾشفبز‪ ٜ‬وطز‪ .‬زض ذظ ‪ 9‬حّم‪ While ٝ‬ضا ‪ٚ‬اضز ٔی و‪ٙ‬یٓ‪ .‬زض حّم‪ while ٝ‬اثشسا ٔمساض ا‪ِٚ‬ی‪ ٝ‬قٕبض٘س‪ ٜ‬ثب‪ٔ 10‬مبیؿ‪ٔ ٝ‬ی ق‪ٛ‬ز و‪ ٝ‬آیب‬
‫اظ ‪ 10‬وٕشط اؾز یب ثب آٖ ثطاثط اؾز‪٘ .‬شید‪ٞ ٝ‬ط ثبض ٔمبیؿ‪ٚ ٝ‬ض‪ٚ‬ز ث‪ ٝ‬ثس٘‪ ٝ‬حّم‪ ٚ whileٝ‬چبح دیغبْ اؾز‪ٕٞ .‬ب٘غ‪ٛ‬ض و‪ٔ ٝ‬كب‪ٞ‬س‪ٔ ٜ‬ی‬
‫و‪ٙ‬یس ثقس اظ ‪ٞ‬ط ثبض ٔمبیؿ‪ٔ ٝ‬مساض قٕبض٘س‪ ٜ‬یه ‪ٚ‬احس اضبف‪ٔ ٝ‬ی ق‪ٛ‬ز (ذظ‪ .)12‬حّم‪ ٝ‬سب ظٔب٘ی سىطاض ٔی ق‪ٛ‬ز و‪ٔ ٝ‬مساض قٕبض٘س‪ ٜ‬اظ‬
‫‪ 10‬وٕشط ثبقس‪ .‬اٌط ٔمساض قٕبض٘س‪ ٜ‬یه ثٕب٘س ‪ ٚ‬آٖ ضا افعایف ٘س‪ٞ‬یٓ ‪ ٚ‬یب ٔمساض قطط ‪ٞ‬طٌع ‪٘ false‬ك‪ٛ‬ز یه حّم‪ ٝ‬ثی‪ٟٙ‬بیز ث‪ٝ‬‬
‫‪ٚ‬خ‪ٛ‬ز ٔی آیس‪ .‬ث‪ ٝ‬ایٗ ٘ىش‪ ٝ‬س‪ٛ‬خ‪ ٝ‬و‪ٙ‬یس و‪ ٝ‬زض قطط ثبال ث‪ ٝ‬خبی فالٔز < اظ =< اؾشفبز‪ ٜ‬قس‪ ٜ‬اؾز‪ .‬اٌط اظ فالٔز < اؾشفبز‪ٔ ٜ‬ی‬
‫وطزیٓ وس ٔب ‪ 9‬ثبض سىطاض ٔی قس چ‪ٔ ٖٛ‬مساض ا‪ِٚ‬ی‪ 1ٝ‬اؾز ‪ٍٙٞ ٚ‬بٔی و‪ ٝ‬قطط ث‪ 10ٝ‬ثطؾس ‪ٔ false‬ی ق‪ٛ‬ز چ‪٘ 10 < 10 ٖٛ‬یؿز‪.‬‬
‫اٌط ٔی ذ‪ٛ‬ا‪ٞ‬یس یه حّم‪ ٝ‬ثی ٘‪ٟ‬بیز ایدبز و‪ٙ‬یس و‪ٞ ٝ‬یچٍب‪ٔ ٜ‬ش‪ٛ‬لف ٘ك‪ٛ‬ز ثبیس یه قطط ایدبز و‪ٙ‬یس و‪ٕٛٞ ٝ‬اض‪ ٜ‬زضؾز ( ‪)true‬‬
‫ثبقس‪.‬‬

‫)‪while(true‬‬
‫{‬
‫‪//code to loop‬‬
‫}‬

‫‪ return ٚ break‬و‪ ٝ‬زض آی‪ٙ‬س‪ٜ‬‬


‫ایٗ سى‪ٙ‬یه زض ثطذی ٔ‪ٛ‬اضز وبضایی زاضز ‪ ٚ‬آٖ ظٔب٘ی اؾز و‪ ٝ‬قٕب ثر‪ٛ‬ا‪ٞ‬یس ثب اؾشفبز‪ ٜ‬اظ زؾشطار‬
‫س‪ٛ‬ضیح ذ‪ٛ‬ا‪ٞ‬یٓ زاز اظ حّم‪ ٝ‬ذبضج ق‪ٛ‬یس‪.‬‬

‫حلمِ ‪do while‬‬

‫حّم‪ do while ٝ‬یىی زیٍط اظ ؾبذشبض‪ٞ‬بی سىطاض اؾز‪ .‬ایٗ حّم‪ ٝ‬ثؿیبض قجی‪ ٝ‬حّم‪ while ٝ‬اؾز ثب ایٗ سفب‪ٚ‬ر و‪ ٝ‬زض ایٗ حّم‪ٝ‬‬
‫اثشسا وس اخطا ٔی ق‪ٛ‬ز‪ ٚ‬ؾذؽ قطط ٔ‪ٛ‬ضز ثطضؾی لطاض ٔی ٌیطز‪ .‬ؾبذشبض حّم‪ do whileٝ‬ث‪ ٝ‬ن‪ٛ‬ضر ظیط اؾز ‪:‬‬

‫‪do‬‬
‫{‬
‫;‪code to repeat‬‬

‫;)‪} while(condition‬‬

‫‪109‬‬
www.w3-farsi.com ‫یًَغ اتشاّیوی‬: ِ‫زالیف ٍ زشجو‬ ‫هثاًی صتاى ػی ؿاسج‬

‫ حسالُ یىجبض اخطا ٔی‬ٝ٘‫بی زاذُ ثس‬ٞ‫ وس‬ٝ‫ی اؾز و‬ٙ‫ ایٗ ثسیٗ ٔق‬.‫یس قطط زض آذط ؾبذشبض لطاض زاضز‬ٙ‫ ٔی و‬ٜ‫س‬ٞ‫ ٔكب‬ٝ‫ض و‬ٛ‫ٕب٘غ‬ٞ
ٝ‫ اظ حّم‬ٜ‫ضاز ثطسطی اؾشفبز‬ٛٔ ‫یىی اظ‬.‫٘س‬ٛ‫ اخطا ٕ٘ی ق‬ٝ٘‫ضار زاذُ ثس‬ٛ‫ اٌط قطط ٘بزضؾز ثبقس زؾش‬ٝ‫ و‬while ٝ‫ثطذالف حّم‬.‫٘س‬ٛ‫ق‬
: ‫یس‬ٙ‫ و‬ٝ‫خ‬ٛ‫ ٔثبَ ظیط س‬ٝ‫ ث‬.‫یس‬ٙ‫یس اعالفبسی اظ وبضثط زضیبفز و‬ٞ‫ا‬ٛ‫ قٕب ثر‬ٝ‫ ظٔب٘ی اؾز و‬while ٝ‫ حّم‬ٝ‫ ٘ؿجز ث‬do while

while ‫ اظ‬ٜ‫اؾشفبز‬

//while version
Console.WriteLine("Enter a number greater than 10: ");
number = Convert.ToInt32(Console.ReadLine());

while (number < 10)


{
Console.WriteLine("Enter a number greater than 10: ");
number = Convert.ToInt32(Console.ReadLine());
}

do while ‫ اظ‬ٜ‫اؾشفبز‬

//do while version

do
{
Console.WriteLine("Enter a number greater than 10: ");
number = Convert.ToInt32(Console.ReadLine());
} while (number < 10);

.‫ اؾز‬ٜ‫ قس‬ٜ‫ اؾشفبز‬while ٝ‫ ٘ؿجز ث‬do whileٝ٘‫بی وٕشطی زض ثس‬ٞ‫ اظ وس‬ٝ‫یس و‬ٙ‫ ٔی و‬ٜ‫س‬ٞ‫ٔكب‬

for ِ‫حلم‬

‫س‬ٙ‫ فمظ زاضای چ‬ٚ ‫س‬ٞ‫ ا٘دبْ ٔی ز‬while ٝ‫ حّم‬ٝ‫ ث‬ٝ‫ فّٕی قجی‬ٝ‫ایٗ حّم‬.‫ اؾز‬for ٝ‫بی سىطاض حّم‬ٞ‫یىی زیٍط اظ ؾبذشبض‬
: ‫ضر ظیط اؾز‬ٛ‫ ن‬ٝ‫ ث‬for ٝ‫ ؾبذشبض حّم‬.‫نیز اضبفی اؾز‬ٛ‫ذه‬

for(initialization; condition; operation)


{
code to repeat;
}

110
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫ٔمساض ز‪ٞ‬ی ا‪ِٚ‬ی‪ )initialization ( ٝ‬ا‪ِٚ‬یٗ ٔمساضی اؾز و‪ ٝ‬ث‪ ٝ‬قٕبض٘س‪ ٜ‬حّم‪ٔ ٝ‬ی ز‪ٞ‬یٓ‪ .‬قٕبض٘س‪ ٜ‬فمظ زض زاذُ حّم‪ٝ‬‬ ‫‪‬‬
‫‪ for‬لبثُ زؾشطؾی اؾز‪.‬‬
‫قطط (‪ )condition‬زض ای‪ٙ‬دب ٔمساض قٕبض٘س‪ ٜ‬ضا ثب یه ٔمساض زیٍط ٔمبیؿ‪ٔ ٝ‬ی و‪ٙ‬س ‪ ٚ‬سقییٗ ٔی و‪ٙ‬س و‪ ٝ‬حّم‪ ٝ‬ازأ‪ ٝ‬یبثس‬ ‫‪‬‬
‫یب ٘‪.ٝ‬‬
‫فٍّٕط (‪ )operation‬و‪ٔ ٝ‬مساض ا‪ِٚ‬ی‪ٔ ٝ‬شغیط ضا وب‪ٞ‬ف یب افعایف ٔی ز‪ٞ‬س‪.‬‬ ‫‪‬‬

‫زض ظیط یه ٔثبَ اظ حّم‪ for ٝ‬آٔس‪ ٜ‬اؾز‪:‬‬

‫;‪using System‬‬

‫‪namespace ForLoopDemo‬‬
‫{‬
‫‪public class Program‬‬
‫{‬
‫)(‪public static void Main‬‬
‫{‬
‫)‪for (int i = 1; i <= 10; i++‬‬
‫{‬
‫;)‪Console.WriteLine("Number " + i‬‬
‫}‬
‫}‬
‫}‬
‫{‬
‫‪Number 1‬‬
‫‪Number 2‬‬
‫‪Number 3‬‬
‫‪Number 4‬‬
‫‪Number 5‬‬
‫‪Number 6‬‬
‫‪Number 7‬‬
‫‪Number 8‬‬
‫‪Number 9‬‬
‫‪Number 10‬‬

‫ثط٘بٔ‪ ٝ‬ثبال افساز ‪ 1‬سب ‪ 10‬ضا ثب اؾشفبز‪ ٜ‬اظ حّم‪ٔ forٝ‬ی قٕبضز‪ .‬اثشسا یه ٔشغیط ث‪ ٝ‬ف‪ٛٙ‬اٖ قٕبض٘س‪ ٜ‬سقطیف ٔی و‪ٙ‬یٓ ‪ ٚ‬آٖ ضا ثب ٔمساض‬
‫‪ٔ 1‬مساض ز‪ٞ‬ی ا‪ِٚ‬ی‪ٔ ٝ‬ی و‪ٙ‬یٓ‪ .‬ؾذؽ ثب اؾشفبز‪ ٜ‬اظ قطط آٖ ضا ثب ٔمساض ‪ٔ 10‬مبیؿ‪ٔ ٝ‬ی و‪ٙ‬یٓ و‪ ٝ‬آیب وٕشط اؾز یب ٔؿب‪ٚ‬ی؟ س‪ٛ‬خ‪ٝ‬‬
‫و‪ٙ‬یس و‪ ٝ‬لؿٕز ؾ‪ ْٛ‬حّم‪ ) i++( ٝ‬ف‪ٛ‬ضا اخطا ٕ٘ی ق‪ٛ‬ز‪ .‬وس اخطا ٔی ق‪ٛ‬ز ‪ ٚ‬اثشسا ضقش‪ ٚ Numberٝ‬ؾذؽ ٔمساض خبضی ‪ i‬یق‪ٙ‬ی ‪1‬‬
‫ضا چبح ٔی و‪ٙ‬س‪ .‬آٍ٘ب‪ ٜ‬یه ‪ٚ‬احس ث‪ٔ ٝ‬مساض ‪ i‬اضبف‪ ٝ‬قس‪ٔ ٚ ٜ‬مساض ‪ i‬ثطاثط ‪ٔ 2‬ی ق‪ٛ‬ز ‪ ٚ‬ثبض زیٍط ‪ i‬ثب فسز ‪ٔ 10‬مبیؿ‪ٔ ٝ‬ی ق‪ٛ‬ز ‪ ٚ‬ایٗ‬
‫حّم‪ ٝ‬سب ظٔب٘ی و‪ٔ ٝ‬مساض قطط ‪ true‬ق‪ٛ‬ز ازأ‪ٔ ٝ‬ی یبثس‪ .‬حبَ اٌط ثر‪ٛ‬ا‪ٞ‬یس ٔقى‪ٛ‬ؼ ثط٘بٔ‪ ٝ‬ثبال ضا دیبز‪ ٜ‬ؾبظی و‪ٙ‬یس یق‪ٙ‬ی افساز اظ‬
‫ثعضي ث‪ ٝ‬و‪ٛ‬چه چبح ق‪٘ٛ‬س ثبیس ث‪ ٝ‬ن‪ٛ‬ضر یعض فُٕ و‪ٙ‬یس ‪:‬‬

‫‪111‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫)‪for (int i = 10; i > 0; i--‬‬


‫{‬
‫‪//code omitted‬‬
‫}‬

‫وس ثبال افساز ضا اظ ‪ 10‬ث‪ 1 ٝ‬چبح ٔی و‪ٙ‬س (اظ ثعضي ث‪ ٝ‬و‪ٛ‬چه)‪ٔ .‬مساض ا‪ِٚ‬ی‪ ٝ‬قٕبض٘س‪ ٜ‬ضا‪ٔ 10‬ی ز‪ٞ‬یٓ ‪ ٚ‬ثب اؾشفبز‪ ٜ‬اظ فٍّٕط وب‪ٞ‬ف‬
‫(‪ )--‬ثط٘بٔ‪ ٝ‬ای و‪ ٝ‬قٕبضـ ٔقى‪ٛ‬ؼ ضا ا٘دبْ ٔی ز‪ٞ‬س ایدبز ٔی و‪ٙ‬یٓ‪ٔ .‬ی س‪ٛ‬اٖ لؿٕز قطط ‪ ٚ‬فٍّٕط ضا ث‪ ٝ‬ن‪ٛ‬ضر ‪ٞ‬بی زیٍط ٘یع‬
‫سغییط زاز‪ .‬ث‪ ٝ‬ف‪ٛٙ‬اٖ ٔثبَ ٔی س‪ٛ‬اٖ اظ فٍّٕط‪ٞ‬بی ٔ‪ٙ‬غمی زض لؿٕز قطط ‪ ٚ‬اظ فٍّٕط‪ٞ‬بی سرهیهی زض لؿٕز فٍّٕط افعایف یب‬
‫‪ for‬اؾشفبز‪ ٜ‬و‪ٙ‬یس‪.‬‬
‫وب‪ٞ‬ف اؾشفبز‪ ٜ‬وطز‪ٕٞ .‬چ‪ٙ‬یٗ ٔی س‪ٛ‬ا٘یس اظ چ‪ٙ‬سیٗ ٔشغیط زض ؾبذشبض حّم‪ٝ‬‬

‫)‪for (int i = 1, y = 2; i < 10 && y > 20; i++, y -= 2‬‬


‫{‬
‫‪//some code here‬‬
‫}‬

‫ث‪ ٝ‬ایٗ ٘ىش‪ ٝ‬س‪ٛ‬خ‪ ٝ‬و‪ٙ‬یس و‪ ٝ‬اٌط اظ چ‪ٙ‬سیٗ ٔشغیط قٕبض٘س‪ ٜ‬یب فٍّٕط زض حّم‪ forٝ‬اؾشفبز‪ٔ ٜ‬ی و‪ٙ‬یس ثبیس آ٘‪ٟ‬ب ضا ثب اؾشفبز‪ ٜ‬اظ وبٔب اظ‬
‫‪ ٓٞ‬خسا و‪ٙ‬یس‪.‬‬

‫خاسج ؿذى اص حلمِ تا اػسفادُ اص ‪continue ٍ break‬‬

‫ٌب‪ٞ‬ی ا‪ٚ‬لبر ثب ‪ٚ‬خ‪ٛ‬ز زضؾز ث‪ٛ‬زٖ قطط ٔی ذ‪ٛ‬ا‪ٞ‬یٓ حّم‪ٔ ٝ‬ش‪ٛ‬لف ق‪ٛ‬ز‪ .‬ؾ‪ٛ‬اَ ای‪ٙ‬دبؾز و‪ ٝ‬چغ‪ٛ‬ض ایٗ وبض ضا ا٘دبْ ز‪ٞ‬یس؟ ثب‬
‫اؾشفبز‪ ٜ‬اظ وّٕ‪ ٝ‬وّیسی‪ break‬حّم‪ ٝ‬ضا ٔش‪ٛ‬لف وطز‪ ٚ ٜ‬ثب اؾشفبز‪ ٜ‬اظ وّٕ‪ ٝ‬وّیسی‪ٔ continue‬ی س‪ٛ‬اٖ ثركی اظ حّم‪ ٝ‬ضا ضز وطز ‪ٚ‬‬
‫ث‪ٔ ٝ‬طحّ‪ ٝ‬ثقس ضفز‪ .‬ثط٘بٔ‪ ٝ‬ظیط ٘ح‪ ٜٛ‬اؾشفبز‪ ٜ‬اظ‪ break ٚ continue‬ضا ٘كبٖ ٔی ز‪ٞ‬س ‪:‬‬

‫‪1‬‬ ‫;‪using System‬‬


‫‪2‬‬
‫‪3‬‬ ‫‪namespace BreakContinueDemo‬‬
‫‪4‬‬ ‫{‬
‫‪5‬‬ ‫‪public class Program‬‬
‫‪6‬‬ ‫{‬
‫‪7‬‬ ‫)(‪public static void Main‬‬
‫‪8‬‬ ‫{‬
‫‪9‬‬ ‫;)"‪Console.WriteLine("Demonstrating the use of break.\n‬‬
‫‪10‬‬
‫‪11‬‬ ‫)‪for (int x = 1; x < 10; x++‬‬
‫‪12‬‬ ‫{‬
‫‪13‬‬ ‫)‪if (x == 5‬‬
‫‪14‬‬ ‫;‪break‬‬
‫‪15‬‬
‫‪16‬‬ ‫;)‪Console.WriteLine("Number " + x‬‬
‫‪17‬‬ ‫}‬

‫‪112‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫‪18‬‬
‫‪19‬‬ ‫;)"‪Console.WriteLine("\nDemonstrating the use of continue.\n‬‬
‫‪20‬‬
‫‪21‬‬ ‫)‪for (int x = 1; x < 10; x++‬‬
‫‪22‬‬ ‫{‬
‫‪23‬‬ ‫)‪if (x == 5‬‬
‫‪24‬‬ ‫;‪continue‬‬
‫‪25‬‬
‫‪26‬‬ ‫;)‪Console.WriteLine("Number " + x‬‬
‫‪27‬‬ ‫}‬
‫‪28‬‬ ‫}‬
‫‪29‬‬ ‫}‬
‫‪30‬‬ ‫}‬
‫‪Demonstrating the use of break.‬‬

‫‪Number‬‬ ‫‪1‬‬
‫‪Number‬‬ ‫‪2‬‬
‫‪Number‬‬ ‫‪3‬‬
‫‪Number‬‬ ‫‪4‬‬

‫‪Demonstrating the use of continue.‬‬

‫‪Number‬‬ ‫‪1‬‬
‫‪Number‬‬ ‫‪2‬‬
‫‪Number‬‬ ‫‪3‬‬
‫‪Number‬‬ ‫‪4‬‬
‫‪Number‬‬ ‫‪6‬‬
‫‪Number‬‬ ‫‪7‬‬
‫‪Number‬‬ ‫‪8‬‬
‫‪Number‬‬ ‫‪9‬‬

‫زض ایٗ ثط٘بٔ‪ ٝ‬اظ حّم‪ forٝ‬ثطای ٘كبٖ زازٖ وبضثطز ز‪ ٚ‬وّٕ‪ ٝ‬وّیسی ف‪ٛ‬ق اؾشفبز‪ ٜ‬قس‪ ٜ‬اؾز اٌط ث‪ ٝ‬خبی‪ for‬اظ حّم‪ٞ ٝ‬بی ‪while‬‬
‫‪ do…while ٚ‬اؾشفبز‪ٔ ٜ‬ی قس ٘شید‪ ٝ‬یىؿب٘ی ث‪ ٝ‬زؾز ٔی أس‪ٕٞ .‬ب٘غ‪ٛ‬ض و‪ ٝ‬زض قطط ثط٘بٔ‪( ٝ‬ذظ‬
‫‪ )11‬آٔس‪ ٜ‬اؾز ‪ٚ‬لشی و‪ٔ ٝ‬مساض‬
‫‪ x‬ث‪ ٝ‬فسز ‪ 5‬ضؾیس ؾذؽ زؾش‪ٛ‬ض‪ break‬اخطا ق‪ٛ‬ز(ذظ ‪ .)12‬حّم‪ ٝ‬ثالفبنّ‪ٔ ٝ‬ش‪ٛ‬لف ٔی ق‪ٛ‬ز حشی اٌط قطط‪ x < 10‬ثطلطاض ثبقس‪.‬‬
‫اظ عطف زیٍط زض ذظ ‪ 22‬حّم‪ for ٝ‬فمظ ثطای یه سىطاض ذبل ٔش‪ٛ‬لف قس‪ ٚ ٜ‬ؾذؽ ازأ‪ٔ ٝ‬ی یبثس‪ٚ (.‬لشی ٔمساض ‪ x‬ثطاثط ‪ 5‬ق‪ٛ‬ز‬
‫حّم‪ ٝ‬اظ ‪ 5‬ضز قس‪ٔ ٚ ٜ‬مساض‪ 5‬ضا چبح ٕ٘ی و‪ٙ‬س ‪ ٚ‬ثمی‪ٔ ٝ‬مبزیط چبح ٔی ق‪٘ٛ‬س‪).‬‬

‫آسایِ ّا‬
‫آضای‪ٛ٘ ٝ‬فی ٔشغیط اؾز و‪ِ ٝ‬یؿشی اظ آزضؾ‪ٟ‬بی ٔدٕ‪ٛ‬ف‪ ٝ‬ای اظ زاز‪ٞ ٜ‬بی ‪ٛ٘ ٓٞ‬ؿ ضا زض ذ‪ٛ‬ز شذیط‪ٔ ٜ‬ی و‪ٙ‬س‪.‬سقطیف چ‪ٙ‬سیٗ ٔشغیط اظ‬
‫یه ٘‪ٛ‬ؿ ثطای ‪ٞ‬سفی یىؿبٖ ثؿیبض ذؿش‪ ٝ‬و‪ٙٙ‬س‪ ٜ‬اؾز‪ٔ .‬ثال اٌط ثر‪ٛ‬ا‪ٞ‬یس نس ٔشغیط اظ ٘‪ٛ‬ؿ افساز نحیح سقطیف وطز‪ ٚ ٜ‬اظ آ٘‪ٟ‬ب‬
‫اؾشفبز‪ ٜ‬و‪ٙ‬یس‪ٔ .‬غٕئ‪ٙ‬ب سقطیف ایٗ ‪ٔ ٕٝٞ‬شغیط ثؿیبض وؿبِز آ‪ٚ‬ض ‪ ٚ‬ذؿش‪ ٝ‬و‪ٙٙ‬س‪ ٜ‬اؾز‪ .‬أب ثب اؾشفبز‪ ٜ‬اظ آضای‪ٔ ٝ‬ی س‪ٛ‬اٖ ‪ ٕٝٞ‬آ٘‪ٟ‬ب ضا‬
‫زض یه ذظ سقطیف وطز‪ .‬زض ظیط ضا‪ٞ‬ی ؾبز‪ ٜ‬ثطای سقطیف یه آضای‪٘ ٝ‬كبٖ زاز‪ ٜ‬قس‪ ٜ‬اؾز ‪:‬‬

‫;]‪datatype[] arrayName = new datatype[length‬‬

‫‪113‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫‪ٛ٘ Datatype‬ؿ زاز‪ٞ ٜ‬بیی ضا ٘كبٖ ٔی ز‪ٞ‬س و‪ ٝ‬آضای‪ ٝ‬زض ذ‪ٛ‬ز شذیط‪ٔ ٜ‬ی و‪ٙ‬س‪ .‬وط‪ٚ‬ق‪ ٝ‬و‪ ٝ‬ثقس اظ ٘‪ٛ‬ؿ زاز‪ ٜ‬لطاض ٔی ٌیطز ‪٘ ٚ‬كبٖ‬
‫ز‪ٙٞ‬س‪ ٜ‬اؾشفبز‪ ٜ‬اظ آضای‪ ٝ‬اؾز‪ arrayName.‬و‪٘ ٝ‬بْ آضای‪ ٝ‬ضا ٘كبٖ ٔی ز‪ٞ‬س‪ٍٙٞ .‬بْ ٘بٍٔصاضی آضای‪ ٝ‬ث‪ٟ‬شط اؾز و‪٘ ٝ‬بْ آضای‪٘ ٝ‬كبٖ‬
‫ز‪ٙٞ‬س‪ٛ٘ ٜ‬ؿ آضای‪ ٝ‬ثبقس‪ .‬ث‪ ٝ‬ف‪ٛٙ‬اٖ ٔثبَ ثطای ٘بٍٔصاضی آضای‪ ٝ‬ای و‪ ٝ‬افساز ضا زض ذ‪ٛ‬ز شذیط‪ٔ ٜ‬ی و‪ٙ‬س اظ وّٕ‪ number ٝ‬اؾشفبز‪ٜ‬‬
‫‪ٓٞ new‬‬
‫و‪ٙ‬یس‪ .‬ع‪ َٛ‬آضای‪ ٝ‬و‪ ٝ‬ث‪ ٝ‬وبٔذبیّط ٔی ٌ‪ٛ‬یس قٕب لهس زاضیس چ‪ ٝ‬سقساز زاز‪ ٜ‬یب ٔمساض ضا زض آضای‪ ٝ‬شذیط‪ ٜ‬و‪ٙ‬یس‪.‬اظ وّٕ‪ ٝ‬وّیسی‬
‫ثطای اذشهبل فضبی حبفؾ‪ ٝ‬ث‪ ٝ‬ا٘ساظ‪ ٜ‬ع‪ َٛ‬آضای‪ ٝ‬اؾشفبز‪ٔ ٜ‬ی ق‪ٛ‬ز‪.‬ثطای سقطیف یه آضای‪ ٝ‬و‪ٔ 5ٝ‬مساض اظ ٘‪ٛ‬ؿ افساز نحیح زض ذ‪ٛ‬ز‬
‫شذیط‪ٔ ٜ‬ی و‪ٙ‬س ثبیس ث‪ ٝ‬ن‪ٛ‬ضر ظیط فُٕ و‪ٙ‬یٓ ‪:‬‬

‫;]‪int[] numbers = new int[5‬‬

‫زض ایٗ ٔثبَ ‪ 5‬آزضؼ اظ فضبی حبفؾ‪ ٝ‬وبٔذی‪ٛ‬سط قٕب ثطای شذیط‪ٔ 5ٜ‬مساض ضظض‪ٔ ٚ‬ی ق‪ٛ‬ز‪ .‬حبَ چغ‪ٛ‬ض ٔمبزیطٔبٖ ضا زض ‪ٞ‬ط یه اظ‬
‫ایٗ آزضؾ‪ٟ‬ب شذیط‪ ٜ‬و‪ٙ‬یٓ؟ ثطای زؾشطؾی ‪ ٚ‬انالح ٔمبزیط آضای‪ ٝ‬اظ ا٘سیؽ یب ٔىبٖ آ٘‪ٟ‬ب اؾشفبز‪ٔ ٜ‬ی ق‪ٛ‬ز‪.‬‬

‫]‪numbers[0‬‬ ‫=‬ ‫;‪1‬‬


‫]‪numbers[1‬‬ ‫=‬ ‫;‪2‬‬
‫]‪numbers[2‬‬ ‫=‬ ‫;‪3‬‬
‫]‪numbers[3‬‬ ‫=‬ ‫;‪4‬‬
‫]‪numbers[4‬‬ ‫=‬ ‫;‪5‬‬

‫‪ 5‬فض‪ٛ‬ی‬ ‫ا٘سیؽ یه آضای‪ ٝ‬اظ نفط قط‪ٚ‬ؿ قس‪ ٚ ٜ‬ث‪ ٝ‬یه ‪ٚ‬احس وٕشط اظ ع‪ َٛ‬آضای‪ ٝ‬ذشٓ ٔی ق‪ٛ‬ز‪ .‬ث‪ ٝ‬ف‪ٛٙ‬اٖ ٔثبَ قٕب یه آضای‪ٝ‬‬
‫زاضیس‪،‬ا٘سیؽ آضای‪ ٝ‬اظ ‪ 0‬سب ‪ٔ 4‬ی ثبقس چ‪ ٖٛ‬ع‪ َٛ‬آضای‪ 5 ٝ‬اؾز دؽ ‪ 5-1‬ثطاثط اؾز ثب ‪.4‬ایٗ ثساٖ ٔق‪ٙ‬بؾز و‪ ٝ‬ا٘سیؽ ‪٘ 0‬كبٖ‬
‫ز‪ٙٞ‬س‪ ٜ‬ا‪ِٚ‬یٗ فض‪ ٛ‬آضای‪ ٝ‬اؾز ‪ ٚ‬ا٘سیؽ‪٘ 1‬كبٖ ز‪ٙٞ‬س‪ ٜ‬ز‪ٔٚ‬یٗ فض‪ ٚ ٛ‬اِی آذط‪ .‬ثطای زضن ث‪ٟ‬شط ٔثبَ ثبال ث‪ ٝ‬قىُ ظیط س‪ٛ‬خ‪ ٝ‬و‪ٙ‬یس ‪:‬‬

‫ث‪ٞ ٝ‬ط یه اظ اخعاء آضای‪ ٚ ٝ‬ا٘سیؿ‪ٟ‬بی زاذُ وط‪ٚ‬ق‪ ٝ‬س‪ٛ‬خ‪ ٝ‬و‪ٙ‬یس‪ .‬وؿب٘ی و‪ ٝ‬سبظ‪ ٜ‬قط‪ٚ‬ؿ ث‪ ٝ‬ثط٘بٔ‪ٛ٘ ٝ‬یؿی وطز‪ ٜ‬ا٘س ٔقٕ‪ٛ‬ال زض ٌصاقشٗ‬
‫ا٘سیؽ زچبض اقشجب‪ٔ ٜ‬ی ق‪٘ٛ‬س ‪ٔ ٚ‬ثال ٕٔىٗ اؾز زض ٔثبَ ثبال ا٘سیؿ‪ٟ‬ب ضا اظ‪ 1‬قط‪ٚ‬ؿ و‪ٙٙ‬س‪ .‬اٌط ثر‪ٛ‬ا‪ٞ‬یس ث‪ ٝ‬یىی اظ اخعائ آضای‪ ٝ‬ثب‬
‫اؾشفبز‪ ٜ‬اظ ا٘سیؿی زؾشطؾی دیسا و‪ٙ‬یس و‪ ٝ‬زض ٔحس‪ٚ‬ز‪ ٜ‬ا٘سیؿ‪ٟ‬بی آضای‪ ٝ‬قٕب ٘جبقس ثب دیغبْ ذغبی‬
‫‪ٛٔ IndexOutOfRangeException‬اخ‪ٔ ٝ‬ی ق‪ٛ‬یس ‪ ٚ‬ثسیٗ ٔق‪ٙ‬ی اؾز و‪ ٝ‬قٕب آزضؾی ضا ٔی ذ‪ٛ‬ا‪ٞ‬یس و‪ٚ ٝ‬خ‪ٛ‬ز ٘ساضز‪ .‬یىی‬
‫زیٍط اظ ضا‪ٞ ٜ‬بی سقطیف ؾطیـ ‪ٔ ٚ‬مساض ز‪ٞ‬ی یه آضای‪ ٝ‬ث‪ ٝ‬ن‪ٛ‬ضر ظیط اؾز ‪:‬‬

‫;} ‪datatype[] arrayName =new datatype[length] { val1, val2, ... valN‬‬

‫زض ایٗ ض‪ٚ‬ـ قٕب ٔی س‪ٛ‬ا٘یس ف‪ٛ‬ضا ثقس اظ سقطیف ا٘ساظ‪ ٜ‬آضای‪ٔ ٝ‬مبزیط ضا زض زاذُ آو‪ٛ‬الز لطاض ز‪ٞ‬یس‪ .‬ث‪ ٝ‬یبز زاقش‪ ٝ‬ثبقیس و‪ٞ ٝ‬ط وساْ‬
‫اظ ٔمبزیط ضا ثب اؾشفبز‪ ٜ‬اظ وبٔب اظ ‪ ٓٞ‬خسا و‪ٙ‬یس‪ٕٞ .‬چ‪ٙ‬یٗ سقساز ٔمبزیط زاذُ آو‪ٛ‬الز ثبیس ثب ا٘ساظ‪ ٜ‬آضای‪ ٝ‬سقطیف قس‪ ٜ‬ثطاثط ثبقس‪.‬‬

‫‪114‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫ث‪ٔ ٝ‬ثبَ ظیط س‪ٛ‬خ‪ ٝ‬و‪ٙ‬یس ‪:‬‬

‫;} ‪int[] numbers = new int[5] { 1, 2, 3, 4, 5‬‬

‫ایٗ ٔثبَ ثب ٔثبَ لجُ ‪ٞ‬یچ سفب‪ٚ‬سی ٘ساضز ‪ ٚ‬سقساز ذغ‪ٟ‬بی وس٘‪ٛ‬یؿی ضا وب‪ٞ‬ف ٔی ز‪ٞ‬س‪ .‬قٕب ٔی س‪ٛ‬ا٘یس ثب اؾشفبز‪ ٜ‬اظ ا٘سیؽ ث‪ٔ ٝ‬مساض‬
‫‪ٞ‬ط یه اظ اخعاء آضای‪ ٝ‬زؾشطؾی یبثیس ‪ ٚ‬آ٘‪ٟ‬ب ضا ث‪ ٝ‬زِر‪ٛ‬ا‪ ٜ‬سغییط ز‪ٞ‬یس‪.‬سقساز اخعاء آضای‪ ٝ‬زض ٔثبَ ثبال‪ 5‬اؾز ‪ٔ ٚ‬ب ‪ٔ 5‬مساض ضا زض آٖ‬
‫لطاض ٔی ز‪ٞ‬یٓ‪ .‬اٌط سقساز ٔمبزیطی و‪ ٝ‬زض آضای‪ ٝ‬لطاض ٔی ز‪ٞ‬یٓ وٕشط یب ثیكشط اظ ع‪ َٛ‬آضای‪ ٝ‬ثبقس ثب ذغب ٔ‪ٛ‬اخ‪ٔ ٝ‬ی ق‪ٛ‬یٓ‪ .‬یىی‬
‫زیٍط اظ ضا‪ٞ ٜ‬بی سقطیف آضای‪ ٝ‬زض ظیط آٔس‪ ٜ‬اؾز‪ .‬قٕب ٔی س‪ٛ‬ا٘یس ‪ٞ‬ط سقساز ف‪ٙ‬هط ضا و‪ ٝ‬ذ‪ٛ‬اؾشیس زض آضای‪ ٝ‬لطاض ز‪ٞ‬یس ثس‪ ٖٚ‬ای‪ٙ‬ى‪ٝ‬‬
‫ا٘ساظ‪ ٜ‬آضای‪ ٝ‬ضا ٔكرم و‪ٙ‬یس‪ .‬ث‪ ٝ‬ف‪ٛٙ‬اٖ ٔثبَ ‪:‬‬

‫;} ‪int[] numbers = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10‬‬

‫زض ایٗ ٔثبَ ٔب ‪ٔ 10‬مساض ضا ث‪ ٝ‬آضای‪ ٝ‬اذشهبل زاز‪ ٜ‬ایٓ‪٘ .‬ىش‪ ٝ‬ای‪ٙ‬دبؾز و‪ ٝ‬ع‪ َٛ‬آضای‪ ٝ‬ضا سقطیف ٘ىطز‪ ٜ‬ایٓ‪ .‬زض ایٗ حبِز وبٔذبیّط‬
‫ثقس اظ قٕطزٖ سقساز ٔمبزیط زاذُ آو‪ٛ‬الز ع‪ َٛ‬آضای‪ ٝ‬ضا سكریم ٔی ز‪ٞ‬س‪ .‬ث‪ ٝ‬یبز زاقش‪ ٝ‬ثبقیس و‪ ٝ‬اٌط ثطای آضای‪ ٝ‬ع‪ِٛ‬ی زض ٘ؾط‬
‫ٍ٘یطیس ثبیس ثطای آٖ ٔمساض سقطیف و‪ٙ‬یس زض فیط ایٗ ن‪ٛ‬ضر ثب ذغب ٔ‪ٛ‬اخ‪ٔ ٝ‬ی ق‪ٛ‬یس ‪:‬‬

‫‪int[] numbers = new int[]; //not allowed‬‬

‫یه ضا‪ ٜ‬ثؿیبض ؾبز‪ ٜ‬سط ثطای سقطیف آضای‪ ٝ‬ث‪ ٝ‬ن‪ٛ‬ضر ظیط اؾز ‪:‬‬

‫;} ‪int[] numbers = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10‬‬

‫ث‪ ٝ‬ؾبزٌی ‪ ٚ‬ثس‪ ٖٚ‬احشیبج ث‪ ٝ‬وّٕ‪ ٝ‬وّیسی ‪ٔ new‬ی س‪ٛ‬اٖ ٔمبزیط ضا زض زاذُ آو‪ٛ‬الز لطاض زاز‪ .‬وبٔذبیّط ث‪ ٝ‬ن‪ٛ‬ضر اس‪ٔٛ‬بسیه ثب‬
‫قٕبضـ ٔمبزیط ع‪ َٛ‬آضای‪ ٝ‬ضا سكریم ٔی ز‪ٞ‬س‪.‬‬

‫دػسیاتی تِ همادیش آسایِ تا اػسفادُ اص حلمِ ‪for‬‬

‫‪5‬‬
‫ثط٘بٔ‪ٔ ٝ‬مساض اظ وبضثط ٌطفش‪ ٝ‬قس‪ٔ ٚ ٜ‬یبٍ٘یٗ آ٘‪ٟ‬ب حؿبة ٔی ق‪ٛ‬ز‪:‬‬ ‫زض ظیط ٔثبِی زض ٔ‪ٛ‬ضز اؾشفبز‪ ٜ‬اظ آضای‪ٞ ٝ‬ب آٔس‪ ٜ‬اؾز‪ .‬زض ایٗ‬

‫‪1‬‬ ‫;‪using System‬‬


‫‪2‬‬
‫‪3‬‬ ‫‪public class Program‬‬
‫‪4‬‬ ‫{‬
‫‪5‬‬ ‫)(‪public static void Main‬‬
‫‪6‬‬ ‫{‬
‫‪7‬‬ ‫;]‪int[] numbers = new int[5‬‬
‫‪8‬‬ ‫;‪int total = 0‬‬
‫‪9‬‬ ‫;‪double average‬‬
‫‪10‬‬
‫‪11‬‬ ‫)‪for (int i = 0; i < numbers.Length; i++‬‬

‫‪115‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫‪12‬‬ ‫{‬
‫‪13‬‬ ‫;)" ‪Console.Write("Enter a number:‬‬
‫‪14‬‬ ‫;))(‪numbers[i] = Convert.ToInt32(Console.ReadLine‬‬
‫‪15‬‬ ‫}‬
‫‪16‬‬
‫‪17‬‬ ‫)‪for (int i = 0; i < numbers.Length; i++‬‬
‫‪18‬‬ ‫{‬
‫‪19‬‬ ‫;]‪total += numbers[i‬‬
‫‪20‬‬ ‫}‬
‫‪21‬‬
‫‪22‬‬ ‫;‪average = total / (double)numbers.Length‬‬
‫‪23‬‬
‫‪24‬‬ ‫;)‪Console.WriteLine("Average = {0}", average‬‬
‫‪25‬‬ ‫}‬
‫‪26‬‬ ‫}‬
‫‪Enter a‬‬ ‫‪number:‬‬ ‫‪90‬‬
‫‪Enter a‬‬ ‫‪number:‬‬ ‫‪85‬‬
‫‪Enter a‬‬ ‫‪number:‬‬ ‫‪80‬‬
‫‪Enter a‬‬ ‫‪number:‬‬ ‫‪87‬‬
‫‪Enter a‬‬ ‫‪number:‬‬ ‫‪92‬‬
‫‪Average‬‬ ‫‪= 86‬‬

‫زض ذظ ‪ 7‬یه آضای‪ ٝ‬سقطیف قس‪ ٜ‬اؾز و‪ٔ ٝ‬ی س‪ٛ‬ا٘س‪ 5‬فسز نحیح ضا زض ذ‪ٛ‬ز شذیط‪ ٜ‬و‪ٙ‬س‪.‬ذغ‪ٛ‬ط‪ٔ 9 ٚ 8‬شغیط‪ٞ‬بیی سقطیف قس‪ ٜ‬ا٘س‬
‫و‪ ٝ‬اظ آ٘‪ٟ‬ب ثطای ٔحبؾج‪ٔ ٝ‬یبٍ٘یٗ اؾشفبز‪ٔ ٜ‬ی ق‪ٛ‬ز‪.‬س‪ٛ‬خ‪ ٝ‬و‪ٙ‬یس و‪ٔ ٝ‬مساض ا‪ِٚ‬ی‪ totalٝ‬نفط اؾز سب اظ ثط‪ٚ‬ظ ذغب ‪ٍٙٞ‬بْ اضبف‪ ٝ‬قسٖ‬
‫ٔمساض ث‪ ٝ‬آٖ خّ‪ٌٛ‬یطی ق‪ٛ‬ز‪.‬زض ذغ‪ٛ‬ط‪ 11‬سب ‪ 15‬حّم‪ for ٝ‬ثطای سىطاض ‪ٌ ٚ‬طفشٗ ‪ٚ‬ض‪ٚ‬زی اظ وبضثط سقطیف قس‪ ٜ‬اؾز‪.‬اظ ذبنیز ع‪َٛ‬‬
‫‪ٔ for‬مساض ‪ 5‬ضا ثطای‬
‫(‪ )Length‬اضای‪ ٝ‬ثطای سكریم سقساز اخعای آضای‪ ٝ‬اؾشفبز‪ٔ ٜ‬ی ق‪ٛ‬ز‪ .‬اٌط چ‪ٔ ٝ‬ی س‪ٛ‬ا٘ؿشیٓ ث‪ ٝ‬ؾبزٌی زض حّم‪ٝ‬‬
‫قطط لطاض ز‪ٞ‬یٓ ‪ِٚ‬ی اؾشفبز‪ ٜ‬اظ ذبنیز ع‪ َٛ‬آضای‪ ٝ‬وبض ضاحز سطی اؾز ‪ٔ ٚ‬ی س‪ٛ‬ا٘یٓ ع‪ َٛ‬آضای‪ ٝ‬ضا سغییط ز‪ٞ‬یٓ ‪ ٚ‬قطط حّم‪forٝ‬‬
‫ثب سغییط خسیس ‪ٕٞ‬ب‪ٔ ًٙٞ‬ی ق‪ٛ‬ز‪.‬زض ذظ ‪ٚ 14‬ض‪ٚ‬زی زضیبفز قس‪ ٜ‬اظ وبضثط ث‪ٛ٘ ٝ‬ؿ ‪ int‬سجسیُ ‪ ٚ‬زض آضای‪ ٝ‬شذیط‪ٔ ٜ‬ی ق‪ٛ‬ز‪.‬ا٘سیؽ‬
‫اؾشفبز‪ ٜ‬قس‪ ٜ‬زض ‪( number‬ذظ ‪ٔ )14‬مساض ‪ i‬خبضی زض حّم‪ ٝ‬اؾز‪ .‬ثطای ٔثبَ زض اثشسای حّم‪ٔ ٝ‬مساض ‪ i‬نفط اؾز ث‪ٙ‬بثطایٗ ‪ٚ‬لشی‬
‫زض ذظ ‪ 14‬ا‪ِٚ‬یٗ زاز‪ ٜ‬اظ وبضثط ٌطفش‪ٔ ٝ‬ی ق‪ٛ‬ز ا٘سیؽ آٖ ثطاثط نفط ٔی ق‪ٛ‬ز‪ .‬زض سىطاض ثقسی ‪ i‬یه ‪ٚ‬احس اضبف‪ٔ ٝ‬ی ق‪ٛ‬ز ‪ ٚ‬زض‬
‫٘شید‪ ٝ‬زض ذظ ‪ ٚ 14‬ثقس اظ ‪ٚ‬ض‪ٚ‬ز ز‪ٔٚ‬یٗ زاز‪ ٜ‬س‪ٛ‬ؾظ وبضثط ا٘سیؽ آٖ ثطاثط یه ٔی ق‪ٛ‬ز‪ .‬ایٗ حبِز سب ظٔب٘ی و‪ ٝ‬قطط زض حّم‪forٝ‬‬
‫ثطلطاض اؾز ازأ‪ٔ ٝ‬ی یبثس‪ .‬زض ذغ‪ٛ‬ط‪ 17-20‬اظ حّم‪ for ٝ‬زیٍط ثطای زؾشطؾی ث‪ٔ ٝ‬مساض ‪ٞ‬ط یه اظ زاز‪ٞ ٜ‬بی آضای‪ ٝ‬اؾشفبز‪ ٜ‬قس‪ٜ‬‬
‫اؾز‪ .‬زض ایٗ حّم‪٘ ٝ‬یع ٔب٘‪ٙ‬س حّم‪ ٝ‬لجُ اظ ٔمساض ٔشغیط قٕبض٘س‪ ٜ‬ث‪ ٝ‬ف‪ٛٙ‬اٖ ا٘سیؽ اؾشفبز‪ٔ ٜ‬ی و‪ٙ‬یٓ‪.‬‬

‫‪ٞ‬ط یه اظ اخعای فسزی آضای‪ ٝ‬ث‪ٔ ٝ‬شغیط ‪ total‬اضبف‪ٔ ٝ‬ی ق‪٘ٛ‬س‪ .‬ثقس اظ دبیبٖ حّم‪ٔ ٝ‬ی س‪ٛ‬ا٘یٓ ٔیبٍ٘یٗ افساز ضا حؿبة و‪ٙ‬یٓ (ذظ‬
‫‪ٔ .)22‬مساض ‪ total‬ضا ثط سقساز اخعای آضای‪ ( ٝ‬سقساز فسز ‪ٞ‬ب) سمؿیٓ ٔی و‪ٙ‬یٓ‪ .‬ثطای زؾشطؾی ث‪ ٝ‬سقساز اخعای آضای‪ٔ ٝ‬ی س‪ٛ‬اٖ اظ‬
‫‪ length‬ضا ث‪ٛ٘ ٝ‬ؿ ‪ double‬سجسیُ وطز‪ ٜ‬ایٓ‬ ‫ذبنیز ‪ length‬آضای‪ ٝ‬اؾشفبز‪ ٜ‬وطز‪ .‬س‪ٛ‬خ‪ ٝ‬و‪ٙ‬یس و‪ ٝ‬زض ای‪ٙ‬دب ٔب ٔمساض ذبنیز‬
‫ث‪ٙ‬بثطایٗ ٘شید‪ ٝ‬فجبضر یه ٔمساض اظ ٘‪ٛ‬ؿ ‪ double‬ذ‪ٛ‬ا‪ٞ‬س قس ‪ ٚ‬زاضای ثرف وؿطی ٔی ثبقس‪ .‬حبَ اٌط فّٕ‪٘ٛ‬س ‪ٞ‬بی سمؿیٓ ضا ث‪ٝ‬‬
‫٘‪ٛ‬ؿ ‪ double‬سجسیُ ٘ى‪ٙ‬یٓ ٘شید‪ ٝ‬سمؿیٓ یه فسز اظ ٘‪ٛ‬ؿ نحیح ذ‪ٛ‬ا‪ٞ‬س قس ‪ ٚ‬زاضای ثرف وؿطی ٘یؿز‪ .‬ذظ‪ٔ 24‬مساض ٔیبٍ٘یٗ‬
‫ضا زض نفح‪ٕ٘ ٝ‬بیف چبح ٔی و‪ٙ‬س‪ .‬ع‪ َٛ‬آضای‪ ٝ‬ثقس اظ ٔمساض ز‪ٞ‬ی ٕ٘ی س‪ٛ‬ا٘س سغیط و‪ٙ‬س‪ .‬ث‪ ٝ‬ف‪ٛٙ‬اٖ ٔثبَ اٌط یه آضای‪ ٝ‬ضا و‪ ٝ‬قبُٔ‪5‬‬
‫خع اؾز ٔمساض ز‪ٞ‬ی و‪ٙ‬یس زیٍط ٕ٘ی س‪ٛ‬ا٘یس آٖ ضا ٔثال ث‪ 10 ٝ‬خع سغییط ا٘ساظ‪ ٜ‬ز‪ٞ‬یس‪ .‬اِجش‪ ٝ‬سقساز ذبنی اظ والؾ‪ٟ‬ب ٔب٘‪ٙ‬س آضای‪ٞ ٝ‬ب‬
‫فُٕ ٔی و‪ٙٙ‬س ‪ ٚ‬س‪ٛ‬ا٘بیی سغییط سقساز اخعای سكىیُ ز‪ٙٞ‬س‪ ٜ‬ذ‪ٛ‬ز ضا زاض٘س‪.‬آضای‪ٞ ٝ‬ب زض ثطذی قطایظ ثؿیبض دط وبضثطز ‪ٞ‬ؿش‪ٙ‬س ‪ٚ‬‬
‫سؿّظ قٕب ثط ایٗ ٔف‪ ٚ ْٟٛ‬ای‪ٙ‬ى‪ ٝ‬چغ‪ٛ‬ض اظ آ٘‪ٟ‬ب اؾشفبز‪ ٜ‬و‪ٙ‬یس ثؿیبض ٔ‪ ٟٓ‬اؾز‪.‬‬

‫‪116‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫حلمِ ‪foreach‬‬

‫حّم‪ foreach ٝ‬یىی زیٍط اظ ؾبذشبض‪ٞ‬بی سىطاض زض ؾی قبضح ٔی ثبقس و‪ٔ ٝ‬ره‪ٛ‬نب ثطای آضای‪ٞ ٝ‬ب ‪ِ،‬یؿش‪ٟ‬ب ‪ٔ ٚ‬دٕ‪ٛ‬ف‪ٞ ٝ‬ب عطاحی‬
‫قس‪ ٜ‬اؾز‪.‬حّم‪ foreach ٝ‬ثب ‪ٞ‬ط ثبض ٌطزـ زض ثیٗ اخعاء ‪ٔ ،‬مبزیط ‪ٞ‬ط یه اظ آ٘‪ٟ‬ب ضا زض زاذُ یه ٔشغیط ٔ‪ٛ‬لشی لطاض ٔی ز‪ٞ‬س ‪ ٚ‬قٕب‬
‫‪ foreach‬آٔس‪ ٜ‬اؾز ‪:‬‬
‫ٔی س‪ٛ‬ا٘یس ث‪ٛ‬اؾغ‪ ٝ‬ایٗ ٔشغیط ث‪ٔ ٝ‬مبزیط زؾشطؾی دیسا و‪ٙ‬یس‪ .‬زض ظیط ٘ح‪ ٜٛ‬اؾشفبز‪ ٜ‬اظ حّم‪ٝ‬‬

‫)‪foreach (datatype temporaryVar in array‬‬


‫{‬
‫;‪code to execute‬‬
‫}‬

‫‪ٔ temporaryVar‬شغیطی اؾز و‪ٔ ٝ‬مبزیط اخعای آضای‪ ٝ‬ضا زض ذ‪ٛ‬ز ٍ٘‪ٟ‬ساضی ٔی و‪ٙ‬س‪ temporaryVar.‬ثبیس زاضای ٘‪ٛ‬ؿ ثبقس سب‬
‫ثش‪ٛ‬ا٘س ٔمبزیط آضای‪ ٝ‬ضا زض ذ‪ٛ‬ز شذیط‪ ٜ‬و‪ٙ‬س‪ .‬ث‪ ٝ‬ف‪ٛٙ‬اٖ ٔثبَ آضای‪ ٝ‬قٕب زاضای افسازی اظ ٘‪ٛ‬ؿ نحیح ثبقس ثبیس ٘‪ٛ‬ؿ ٔشغیط ٔ‪ٛ‬لشی اظ‬
‫‪ double‬یب ‪.long‬ؾذؽ وّٕ‪ٝ‬‬ ‫٘‪ٛ‬ؿ افساز نحیح ثبقس یب ‪ٞ‬ط ٘‪ٛ‬ؿ زیٍطی و‪ ٝ‬ثش‪ٛ‬ا٘س افساز نحیح ضا زض ذ‪ٛ‬ز شذیط‪ ٜ‬و‪ٙ‬س ٔب٘‪ٙ‬س‬
‫‪ foreach‬أس‪ ٜ‬اؾز ‪:‬‬
‫وّیسی ‪ ٚ in‬ثقس اظ آٖ ٘بْ آضای‪ ٝ‬ضا ٔی ٘‪ٛ‬یؿیٓ‪ .‬زض ظیط ٘ح‪ ٜٛ‬اؾشفبز‪ ٜ‬اظ حّم‪ٝ‬‬

‫;‪using System‬‬

‫‪public class Program‬‬


‫{‬
‫)(‪public static void Main‬‬
‫{‬
‫;} ‪int[] numbers = { 1, 2, 3, 4, 5‬‬

‫)‪foreach (int n in numbers‬‬


‫{‬
‫;)‪Console.WriteLine("Number {0}", n‬‬
‫}‬
‫}‬
‫}‬
‫‪Number‬‬ ‫‪1‬‬
‫‪Number‬‬ ‫‪2‬‬
‫‪Number‬‬ ‫‪3‬‬
‫‪Number‬‬ ‫‪4‬‬
‫‪Number‬‬ ‫‪5‬‬

‫زض ثط٘بٔ‪ ٝ‬آضای‪ ٝ‬ای ثب‪ 5‬خعء سقطیف قس‪ٔ ٚ ٜ‬مبزیط‪ 1‬سب ‪ 5‬زض آ٘‪ٟ‬ب لطاض زاز‪ ٜ‬قس‪ ٜ‬اؾز (ذظ‪ .)7‬زض ذظ ‪ 9‬حّم‪ foreach ٝ‬قط‪ٚ‬ؿ ٔی‬
‫ق‪ٛ‬ز‪ٔ .‬ب یه ٔشغیط ٔ‪ٛ‬لشی سقطیف وطز‪ ٜ‬ایٓ و‪ ٝ‬افساز آضای‪ ٝ‬ضا زض ذ‪ٛ‬ز شذیط‪ٔ ٜ‬ی و‪ٙ‬س‪ .‬زض ‪ٞ‬ط ثبض سىطاض اظ حّم‪ٔ foreach ٝ‬شغیط‬
‫ٔ‪ٛ‬لشی ‪ٔ ، n‬مبزیط فسزی ضا اظ آضای‪ ٝ‬اؾشرطاج ٔی و‪ٙ‬س‪ .‬حّم‪ٔ foreachٝ‬مبزیط ا‪ِٚ‬یٗ سب آذطیٗ خعء آضای‪ ٝ‬ضا زض اذشیبض ٔب لطاض ٔی‬
‫ز‪ٞ‬س‪.‬‬

‫حّم‪ foreach ٝ‬ثطای زضیبفز ‪ٞ‬ط یه اظ ٔمبزیط آضای‪ ٝ‬وبضثطز زاضز‪ .‬ثقس اظ ٌطفشٗ ٔمساض یىی اظ اخعای آضای‪ٔ، ٝ‬مساض ٔشغیط ٔ‪ٛ‬لشی ضا‬
‫چبح ٔی و‪ٙ‬یٓ‪.‬حّم‪ foreach ٝ‬یه ضقف زاضز ‪ ٚ‬آٖ ای‪ٙ‬ؿز و‪ ٝ‬ایٗ حّم‪ٔ ٝ‬ب ضا لبزض ٔی ؾبظز و‪ ٝ‬ث‪ ٝ‬زاز‪ٞ ٜ‬ب زؾشطؾی یبثیٓ ‪ ٚ‬یب‬
‫آ٘‪ٟ‬ب ضا ثر‪ٛ‬ا٘یٓ ‪ِٚ‬ی اخبظ‪ ٜ‬انالح اخعاء آضای‪ ٝ‬ضا ٕ٘ی ز‪ٞ‬س‪.‬‬

‫‪117‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫ثطای زضن ایٗ ٔغّت زض ٔثبَ ظیط ؾقی قس‪ ٜ‬اؾز و‪ٔ ٝ‬مساض ‪ٞ‬ط یه اظ اخعا آضای‪ ٝ‬افعایف یبثس ‪:‬‬

‫;} ‪int[] numbers = { 1, 2, 3‬‬

‫)‪foreach(int number in numbers‬‬


‫{‬
‫;‪number++‬‬
‫}‬

‫‪ for‬اؾشفبز‪ ٜ‬وطز‪.‬‬
‫اٌط ثط٘بٔ‪ ٝ‬ضا اخطا و‪ٙ‬یس ثب ذغب ٔ‪ٛ‬اخ‪ٔ ٝ‬ی ق‪ٛ‬یس ‪ .‬ثطای انالح ‪ٞ‬ط یه اظ اخعا آضای‪ٔ ٝ‬ی س‪ٛ‬اٖ اظ حّم‪ٝ‬‬

‫;} ‪int[] numbers = { 1, 2, 3‬‬

‫)‪for (int i = 0; i < number.Length; i++‬‬


‫{‬
‫;‪numbers[i]++‬‬
‫}‬

‫آسایِ ّای چٌذ تؼذی‬

‫آضای‪ٞ ٝ‬بی چ‪ٙ‬س ثقسی آضای‪ٞ ٝ‬بیی ‪ٞ‬ؿش‪ٙ‬س و‪ ٝ‬ثطای زؾشطؾی ث‪ٞ ٝ‬ط یه اظ ف‪ٙ‬بنط آ٘‪ٟ‬ب ثبیس اظ چ‪ٙ‬سیٗ ا٘سیؽ اؾشفبز‪ ٜ‬و‪ٙ‬یٓ‪.‬یه‬
‫آضای‪ ٝ‬چ‪ٙ‬س ثقسی ضا ٔی س‪ٛ‬اٖ ٔب٘‪ٙ‬س یه خس‪ َٚ‬ثب سقسای ؾش‪ ٚ ٖٛ‬ضزیف سه‪ٛ‬ض و‪ٙ‬یس‪ .‬ثب افعایف ا٘سیؿ‪ٟ‬ب ا٘ساظ‪ ٜ‬اثقبز آضای‪٘ ٝ‬یع افعایف‬
‫ٔی یبثس ‪ ٚ‬آضای‪ٞ ٝ‬بی چ‪ٙ‬س ثقسی ثب ثیف اظ ز‪ ٚ‬ا٘سیؽ ث‪ٚ ٝ‬خ‪ٛ‬ز ٔی آی‪ٙ‬س‪٘ .‬ح‪ ٜٛ‬ایدبز یه آضای‪ ٝ‬ثب ز‪ ٚ‬ثقس ث‪ ٝ‬ن‪ٛ‬ضر ظیط اؾز ‪:‬‬

‫;]‪datatype[,] arrayName = new datatype[lengthX, lengthY‬‬

‫‪ ٚ‬یه آضای‪ ٝ‬ؾ‪ ٝ‬ثقسی ث‪ ٝ‬ن‪ٛ‬ضر ظیط ایدبز ٔی ق‪ٛ‬ز ‪:‬‬

‫;]‪datatype[, ,] arrayName = new datatype[lengthX, lengthY, lengthZ‬‬

‫ٔی س‪ٛ‬اٖ یه آضای‪ ٝ‬ثب سقساز ظیبزی ثقس ایدبز وطز ث‪ ٝ‬قطعی و‪ٞ ٝ‬ط ثقس زاضای ع‪ٔ َٛ‬كرهی ثبقس‪ .‬ث‪ ٝ‬زِیُ ای‪ٙ‬ى‪ ٝ‬آضای‪ٞ ٝ‬بی ؾ‪ٝ‬‬
‫ثقسی یب آضای‪ٞ ٝ‬بی ثب ثیكشط اظ ز‪ ٚ‬ثقس ثؿیبض وٕشط ٔ‪ٛ‬ضز اؾشفبز‪ ٜ‬لطاض ٔی ٌیط٘س اخبظ‪ ٜ‬ثس‪ٞ‬یس و‪ ٝ‬زض ایٗ زضؼ ثط ض‪ٚ‬ی آضای‪ٞ ٝ‬بی ز‪ٚ‬‬
‫ثقسی سٕطوع و‪ٙ‬یٓ‪ .‬زض سقطیف ایٗ ٘‪ٛ‬ؿ آضای‪ ٝ‬اثشسا ٘‪ٛ‬ؿ آضای‪ ٝ‬یق‪ٙ‬ی ای‪ٙ‬ى‪ ٝ‬آضای‪ ٝ‬چ‪ٛ٘ ٝ‬فی اظ ا٘‪ٛ‬اؿ زاز‪ ٜ‬ضا زض ذ‪ٛ‬ز شذیط‪ٔ ٜ‬ی و‪ٙ‬س ضا‬
‫ٔكرم ٔی و‪ٙ‬یٓ‪ .‬ؾذؽ یه خفز وط‪ٚ‬ق‪ ٚ ٝ‬زض زاذُ وط‪ٚ‬ق‪ٞ ٝ‬ب یه وبٔب لطاض ٔی ز‪ٞ‬یٓ‪ .‬ث‪ ٝ‬سقساز وبٔب‪ٞ‬بیی و‪ ٝ‬زض زاذُ وط‪ٚ‬ق‪ٝ‬‬
‫ٔی ٌصاضیس س‪ٛ‬خ‪ ٝ‬و‪ٙ‬یس‪.‬اٌط آضای‪ٔ ٝ‬ب ز‪ ٚ‬ثقسی اؾز ثبیس‪ 1‬وبٔب ‪ ٚ‬اٌط ؾ‪ ٝ‬ثقسی اؾز ثبیس‪ 2‬وبٔب لطاض ز‪ٞ‬یٓ‪ .‬ؾذؽ یه ٘بْ ثطای آضای‪ٝ‬‬
‫ا٘شربة وطز‪ ٚ ٜ‬ثقس سقطیف آ٘طا ثب ٌصاقشٗ وّٕ‪ٛ٘ ، new ٝ‬ؿ زاز‪ ٚ ٜ‬ع‪ َٛ‬آٖ وبُٔ ٔی و‪ٙ‬یٓ‪ .‬زض یه آضای‪ ٝ‬ز‪ ٚ‬ثقسی ثطای زؾشطؾی‬
‫ث‪ٞ ٝ‬ط یه اظ ف‪ٙ‬بنط ث‪ ٝ‬ز‪ٔ ٚ‬مساض ٘یبظ زاضیٓ یىی ٔمساض ‪ ٚ X‬زیٍطی ٔمساض ‪ Y‬و‪ٔ ٝ‬مساض ‪٘ x‬كبٖ ز‪ٙٞ‬س‪ ٜ‬ضزیف ‪ٔ ٚ‬مساض ‪٘ Y‬كبٖ‬
‫ز‪ٙٞ‬س‪ ٜ‬ؾش‪ ٖٛ‬آضای‪ ٝ‬اؾز اِجش‪ ٝ‬اٌط ٔب آضای‪ ٝ‬ز‪ ٚ‬ثقسی ضا ث‪ ٝ‬ن‪ٛ‬ضر خس‪ َٚ‬زض ٘ؾط ثٍیطیٓ‪.‬یه آضای‪ ٝ‬ؾ‪ ٝ‬ثقسی ضا ٔی س‪ٛ‬اٖ ث‪ ٝ‬ن‪ٛ‬ضر‬

‫‪118‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫یه ٔىقت سه‪ٛ‬ض وطز و‪ ٝ‬زاضای ؾ‪ ٝ‬ثقس اؾز ‪ x ٚ‬ع‪ Y ،َٛ‬فطو ‪ z ٚ‬اضسفبؿ آٖ اؾز‪ .‬یه ٔثبَ اظ آضای‪ ٝ‬ز‪ ٚ‬ثقسی زض ظیط آٔس‪ٜ‬‬
‫اؾز ‪:‬‬

‫;]‪int[,] numbers = new int[3, 5‬‬

‫وس ثبال ث‪ ٝ‬وبٔذبیّط ٔی ٌ‪ٛ‬یس و‪ ٝ‬فضبی وبفی ث‪ ٝ‬ف‪ٙ‬بنط آضای‪ ٝ‬اذشهبل ثس‪( ٜ‬زض ایٗ ٔثبَ‪ 15‬ذب٘‪ .)ٝ‬زض قىُ ظیط ٔىبٖ ‪ٞ‬ط ف‪ٙ‬هط زض‬
‫یه آضای‪ ٝ‬ز‪ ٚ‬ثقسی ٘كبٖ زاز‪ ٜ‬قس‪ ٜ‬اؾز‪.‬‬

‫ٔمساض ‪ 3‬ضا ث‪ x ٝ‬اذشهبل ٔی ز‪ٞ‬یٓ چ‪ 3ٖٛ‬ؾغط ‪ٔ ٚ‬مساض ‪ 5‬ضا ث‪ Y ٝ‬چ‪ 5 ٖٛ‬ؾش‪ ٖٛ‬زاضیٓ اذشهبل ٔی ز‪ٞ‬یٓ‪ .‬چغ‪ٛ‬ض یه آضای‪ ٝ‬چ‪ٙ‬س‬
‫ثقسی ضا ٔمساض ز‪ٞ‬ی و‪ٙ‬یٓ؟ چ‪ٙ‬س ضا‪ ٜ‬ثطای ٔمساض ز‪ٞ‬ی ث‪ ٝ‬آضای‪ٞ ٝ‬ب ‪ٚ‬خ‪ٛ‬ز زاضز‪.‬‬

‫‪datatype[,] arrayName = new datatype[x, y] { { r0c0, r0c1, ... r0cX },‬‬


‫‪{ r1c0, r1c1, ... r1cX },‬‬
‫‪.‬‬
‫‪.‬‬
‫‪.‬‬
‫;} } ‪{ rYc0, rYc1, ... rYcX‬‬

‫ثطای ضاحشی وبض ٔی س‪ٛ‬اٖ اظ ٘‪ٛ‬قشٗ لؿٕز]‪ new dataype[,‬نطف ٘ؾط وطز‪.‬‬

‫‪datatype[,] arrayName = { { r0c0, r0c1, ... r0cX },‬‬


‫‪{ r1c0, r1c1, ... r1cX },‬‬
‫‪.‬‬
‫‪.‬‬
‫‪.‬‬
‫;} } ‪{ rYc0, rYc1, ... rYcX‬‬

‫‪119‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫ث‪ ٝ‬ف‪ٛٙ‬اٖ ٔثبَ ‪:‬‬

‫‪int[,] numbers = { { 1, 2, 3, 4, 5 },‬‬


‫‪{ 6, 7, 8, 9, 10 },‬‬
‫;} } ‪{ 11, 12, 13, 14, 15‬‬

‫‪ ٚ‬یب ٔی س‪ٛ‬اٖ ٔمساض ز‪ٞ‬ی ث‪ ٝ‬ف‪ٙ‬بنط ضا ث‪ ٝ‬ن‪ٛ‬ضر زؾشی ا٘دبْ زاز ٔب٘‪ٙ‬س ‪:‬‬

‫‪array[0,‬‬ ‫]‪0‬‬ ‫=‬ ‫;‪value‬‬


‫‪array[0,‬‬ ‫]‪1‬‬ ‫=‬ ‫;‪value‬‬
‫‪array[0,‬‬ ‫]‪2‬‬ ‫=‬ ‫;‪value‬‬
‫‪array[1,‬‬ ‫]‪0‬‬ ‫=‬ ‫;‪value‬‬
‫‪array[1,‬‬ ‫]‪1‬‬ ‫=‬ ‫;‪value‬‬
‫‪array[1,‬‬ ‫]‪2‬‬ ‫=‬ ‫;‪value‬‬
‫‪array[2,‬‬ ‫]‪0‬‬ ‫=‬ ‫;‪value‬‬
‫‪array[2,‬‬ ‫]‪1‬‬ ‫=‬ ‫;‪value‬‬
‫‪array[2,‬‬ ‫]‪2‬‬ ‫=‬ ‫;‪value‬‬

‫ا٘سیؿ‪ٟ‬بی ‪Y ٚ‬‬
‫‪X‬‬ ‫‪ٕٞ‬ب٘غ‪ٛ‬ض و‪ٔ ٝ‬كب‪ٞ‬س‪ٔ ٜ‬ی و‪ٙ‬یس ثطای زؾشطؾی ث‪ٞ ٝ‬ط یه اظ ف‪ٙ‬بنط زض یه آضای‪ ٝ‬ز‪ ٚ‬ثقسی ث‪ ٝ‬ؾبزٌی ٔی س‪ٛ‬اٖ اظ‬
‫‪ ٚ‬یه خفز وط‪ٚ‬ق‪ٔ ٝ‬ب٘‪ٙ‬س ٔثبَ اؾشفبز‪ ٜ‬وطز‪.‬‬

‫گشدؽ دس هیاى ػٌاصش آسایِ ّای چٌذ تؼذی‬

‫ٌطزـ زض ٔیبٖ ف‪ٙ‬بنط آضای‪ٞ ٝ‬بی چ‪ٙ‬س ثقسی ٘یبظ ث‪ ٝ‬وٕی زلز زاضز‪ .‬یىی اظ ضا‪ٟٞ‬بی آؾبٖ اؾشفبز‪ ٜ‬اظ حّم‪ ٚ foreachٝ‬یب حّم‪ٝ‬‬
‫‪ for‬س‪ ٛ‬زض س‪ ٛ‬اؾز‪ .‬اخبظ‪ ٜ‬ز‪ٞ‬یس اثشسا اظ حّم‪ foreachٝ‬اؾشفبز‪ ٜ‬و‪ٙ‬یٓ‪.‬‬

‫‪1‬‬ ‫;‪using System‬‬


‫‪2‬‬
‫‪3‬‬ ‫‪public class Program‬‬
‫‪4‬‬ ‫{‬
‫‪5‬‬ ‫)(‪public static void Main‬‬
‫‪6‬‬ ‫{‬
‫‪7‬‬ ‫‪int[,] numbers = { { 1, 2, 3, 4, 5 },‬‬
‫‪8‬‬ ‫‪{ 6, 7, 8, 9, 10 },‬‬
‫‪9‬‬ ‫} ‪{ 11, 12, 13, 14, 15‬‬
‫‪10‬‬ ‫;}‬
‫‪11‬‬
‫‪12‬‬ ‫)‪foreach (int number in numbers‬‬
‫‪13‬‬ ‫{‬
‫‪14‬‬ ‫;)" " ‪Console.Write(number +‬‬
‫‪15‬‬ ‫}‬
‫‪16‬‬ ‫}‬
‫‪17‬‬ ‫}‬
‫‪1 2 3 4 5 6 7 8 9 10 11 12 13 14 15‬‬

‫‪120‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫ٔكب‪ٞ‬س‪ ٜ‬وطزیس و‪ٌ ٝ‬طزـ زض ٔیبٖ ٔمبزیط ف‪ٙ‬بنط یه آضای‪ ٝ‬چ‪ٙ‬س ثقسی چمسض ضاحز اؾز‪ .‬ث‪ٚ ٝ‬ؾیّ‪ ٝ‬حّم‪ٕ٘ foreachٝ‬ی س‪ٛ‬ا٘یٓ‬
‫ا٘ش‪ٟ‬بی ضزیف‪ٟ‬ب ضا ٔكرم و‪ٙ‬یٓ‪ .‬ثط٘بٔ‪ ٝ‬ظیط ٘كبٖ ٔی ز‪ٞ‬س و‪ ٝ‬چغ‪ٛ‬ض اظ حّم‪ forٝ‬ثطای ذ‪ٛ‬ا٘سٖ ‪ٔ ٕٝٞ‬مبزیط آضای‪ ٚ ٝ‬سقییٗ ا٘ش‪ٟ‬بی‬
‫ضزیف ‪ٞ‬ب اؾشفبز‪ ٜ‬و‪ٙ‬یس‪.‬‬

‫;‪using System‬‬

‫‪public class Program‬‬


‫{‬
‫)(‪public static void Main‬‬
‫{‬
‫‪int[,] numbers = { { 1, 2, 3, 4, 5 },‬‬
‫‪{ 6, 7, 8, 9, 10 },‬‬
‫} ‪{ 11, 12, 13, 14, 15‬‬
‫;}‬

‫)‪for (int row = 0; row < numbers.GetLength(0); row++‬‬


‫{‬
‫)‪for (int col = 0; col < numbers.GetLength(1); col++‬‬
‫{‬
‫;)" " ‪Console.Write(numbers[row, col] +‬‬
‫}‬

‫‪//Go to the next line‬‬


‫;)(‪Console.WriteLine‬‬
‫}‬
‫}‬
‫}‬
‫‪1 2 3 4 5‬‬
‫‪6 7 8 9 10‬‬
‫‪11 12 13 14 15‬‬

‫‪ٕٞ‬ب٘غ‪ٛ‬ض و‪ ٝ‬زض ٔثبَ ثبال ٘كبٖ زاز‪ ٜ‬قس‪ ٜ‬اؾز ثب اؾشفبز‪ ٜ‬اظ یه حّم‪ ٝ‬ؾبز‪ٕ٘ forٜ‬ی س‪ٛ‬اٖ ث‪ٔ ٝ‬مبزیط زؾشطؾی یبفز ثّى‪ ٝ‬ث‪ ٝ‬یه‬
‫حّم‪ for ٝ‬س‪ ٛ‬زض س‪٘ٛ‬یبظ زاضیٓ‪ .‬زض ا‪ِٚ‬یٗ حّم‪( for ٝ‬ذظ ‪ )12‬یه ٔشغیط سقطیف قس‪ ٜ‬اؾز و‪ ٝ‬زض ٔیبٖ ضزیف ‪ٞ‬بی آضای‪)row ( ٝ‬‬
‫ٌطزـ ٔی و‪ٙ‬س‪ .‬ایٗ حّم‪ ٝ‬سب ظٔب٘ی ازأ‪ٔ ٝ‬ی یبثس و‪ٔ ٝ‬مساض ضزیف وٕشط اظ ع‪ َٛ‬ا‪ِٚ‬یٗ ثقس ثبقس‪.‬‬

‫زض ایٗ ٔثبَ اظ ٔشس )(‪ GetLength‬والؼ ‪ Array‬اؾشفبز‪ ٜ‬وطز‪ ٜ‬ایٓ‪ .‬ایٗ ٔشس ع‪ َٛ‬آضای‪ ٝ‬ضا زض یه ثقس ذبل ٘كبٖ ٔی ز‪ٞ‬س ‪ٚ‬‬
‫زاضای یه دبضأشط اؾز و‪ٕٞ ٝ‬بٖ ثقس آضای‪ٔ ٝ‬ی ثبقس‪ .‬ث‪ ٝ‬ف‪ٛٙ‬اٖ ٔثبَ ثطای ث‪ ٝ‬زؾز آ‪ٚ‬ضزٖ ع‪ َٛ‬ا‪ِٚ‬یٗ ثقس آضای‪ٔ ٝ‬مساض نفط ضا ث‪ٝ‬‬
‫ایٗ ٔشس اضؾبَ ٔی و‪ٙ‬یٓ چ‪ ٖٛ‬قٕبضـ اثقبز یه آضای‪ ٝ‬اظ نفط سب یه ‪ٚ‬احس وٕشط اظ سقساز اثقبز ا٘دبْ ٔی ق‪ٛ‬ز‪ .‬زض زاذُ ا‪ِٚ‬یٗ‬
‫حّم‪ for ٝ‬حّم‪ for ٝ‬زیٍطی سقطیف قس‪ ٜ‬اؾز (ذظ‪.) 14‬‬

‫‪ٞ )columns‬ط ضزیف سقطیف قس‪ ٜ‬اؾز ‪ ٚ‬زض قطط زاذُ آٖ ثبض زیٍط اظ‬
‫زض ایٗ حّم‪ ٝ‬یه قٕبض٘س‪ ٜ‬ثطای قٕبضـ سقساز ؾش‪ٟ٘ٛ‬بی (‬
‫ٔشس )(‪ GetLength‬اؾشفبز‪ ٜ‬قس‪ ٜ‬اؾز‪ِٚ ،‬ی ایٗ ثبض ٔمساض ‪ 1‬ضا ث‪ ٝ‬آٖ اضؾبَ ٔی و‪ٙ‬یٓ سب ع‪ َٛ‬ثقس ز‪ ْٚ‬آضای‪ ٝ‬ضا ث‪ ٝ‬زؾز آ‪ٚ‬ضیٓ‪.‬‬
‫دؽ ث‪ ٝ‬ف‪ٛٙ‬اٖ ٔثبَ ‪ٚ‬لشی و‪ٔ ٝ‬مساض ضزیف (‪ )row‬نفط ثبقس ‪ ،‬حّم‪ ٝ‬ز‪ ْٚ‬اظ]‪ [0, 0‬سب ]‪ [0, 4‬اخطا ٔی ق‪ٛ‬ز‪ .‬ؾذؽ ٔمساض ‪ٞ‬ط ف‪ٙ‬هط‬
‫اظ آضای‪ ٝ‬ضا ثب اؾشفبز‪ ٜ‬اظ حّم‪٘ ٝ‬كبٖ ٔی ز‪ٞ‬یٓ‪ ،‬اٌط ٔمساض ضزیف(‪ )row‬ثطاثط ‪ٔ ٚ 0‬مساض ؾش‪) col(ٖٛ‬ثطاثط ‪ 0‬ثبقس ٔمساض ف‪ٙ‬هطی و‪ٝ‬‬
‫زض ؾش‪ ٚ 1 ٖٛ‬ضزیف ‪ )numbers[0, 0]( 1‬لطاض زاضز ٘كبٖ زاز‪ ٜ‬ذ‪ٛ‬ا‪ٞ‬س قس و‪ ٝ‬زض ٔثبَ ثبال فسز‪ 1‬اؾز‪.‬‬

‫‪121‬‬
www.w3-farsi.com ‫یًَغ اتشاّیوی‬: ِ‫زالیف ٍ زشجو‬ ‫هثاًی صتاى ػی ؿاسج‬

‫ض‬ٛ‫دب زؾش‬ٙ‫ زض ای‬ٝ‫ و‬،‫س قس‬ٙٞ‫ا‬ٛ‫ضار ثقس اظ آٖ اخطا ذ‬ٛ‫ضا زؾش‬ٛ‫ ف‬،‫ دبیبٖ ضؾیس‬ٝ‫ سىطاض ث‬ٝ‫ٔیٗ حّم‬ٚ‫ ز‬ٝ‫ى‬ٙ‫ثقس اظ ای‬
row ‫ ٔمساض‬ٝ‫احس ث‬ٚ ‫ وطزٖ یه‬ٝ‫ ثب اضبف‬ٝ‫ ؾذؽ حّم‬.‫ز‬ٚ‫ ذظ ثقس ثط‬ٝ‫ ث‬ٝ‫س و‬ٞ‫ اعالؿ ٔی ز‬ٝٔ‫ ثط٘ب‬ٝ‫ ث‬ٝ‫ و‬Console.WriteLine()
.‫س‬ٙ‫ سىطاض ٔی و‬ٜ‫ثبض‬ٚ‫س ضا ز‬ٙ‫ایٗ فطای‬

row ‫ٔمساض‬ٝ‫ز و‬ٛ‫س سب ظٔب٘ی اخطا ٔی ق‬ٙ‫ ایٗ فطای‬.‫ز‬ٛ‫ ٔی ق‬ٜ‫ٔیٗ ضزیف ٕ٘بیف زاز‬ٚ‫ ٔمبزیط ز‬ٚ ٜ‫ اخطا قس‬forٝ‫ٔیٗ حّم‬ٚ‫ؾذؽ ز‬
‫ط‬ٛ‫بض زضؼ ٔطث‬ٟ‫ چ‬ٜ‫ ٕ٘ط‬ٝٔ‫ایٗ ثط٘ب‬.ٓ‫ وبض ثطی‬ٝ‫ ث‬ٝٔ‫ ایٓ زض یه ثط٘ب‬ٝ‫ ضا اظ لجُ یبز ٌطفش‬ٝ‫ حبَ ثیبییس ا٘چ‬.‫ِیٗ ثقس ثبقس‬ٚ‫َ ا‬ٛ‫وٕشط اظ ع‬
.‫س‬ٙ‫ظ ضا حؿبة ٔی و‬ٛٔ‫ زا٘ف آ‬ٝ‫ ٔقسَ ؾ‬ٚ ‫ظ ضا اظ ٔب ٔی ٌیطز‬ٛٔ‫ زا٘ف آ‬ٝ‫ ؾ‬ٝ‫ث‬

1 using System;
2
3 public class Program
4 {
5 public static void Main()
6 {
7 double[,] studentGrades = new double[3, 4];
8 double total;
9
10 for (int student = 0; student < studentGrades.GetLength(0); student++)
11 {
12 total = 0;
13
14 Console.WriteLine("Enter grades for Student {0}", student + 1);
15
16 for (int grade = 0; grade < studentGrades.GetLength(1); grade++)
17 {
18 Console.Write("Enter Grade #{0}: ", grade + 1);
19 studentGrades[student, grade] = Convert.ToDouble(Console.ReadLine());
20 total += studentGrades[student, grade];
21 }
22
23 Console.WriteLine("Average is {0:F2}",
24 (total / studentGrades.GetLength(1)));
25 Console.WriteLine();
26 }
27
28 }
29 }
Enter grades for Student 1
Enter Grade #1: 92
Enter Grade #2: 87
Enter Grade #3: 89
Enter Grade #4: 95
Average is 90.75

Enter grades for Student 2


Enter Grade #1: 85
Enter Grade #2: 85
Enter Grade #3: 86
Enter Grade #4: 87
Average is 85.75

Enter grades for Student 3

122
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫‪Enter Grade #1: 90‬‬


‫‪Enter Grade #2: 90‬‬
‫‪Enter Grade #3: 90‬‬
‫‪Enter Grade #4: 90‬‬
‫‪Average is 90.00‬‬

‫زض ثط٘بٔ‪ ٝ‬ثبال یه آضای‪ ٝ‬چ‪ٙ‬س ثقسی اظ ٘‪ٛ‬ؿ ‪ double‬سقطیف قس‪ ٜ‬اؾز (ذظ ‪ٕٞ .)7‬چ‪ٙ‬یٗ یه ٔشغیط ث‪٘ ٝ‬بْ ‪ total‬سقطیف ٔی و‪ٙ‬یٓ‬
‫‪ for‬س‪ ٛ‬زض س‪ٔ ٛ‬ی ق‪ٛ‬یٓ (ذظ‪ .)10‬زض ا‪ِٚ‬یٗ حّم‪ٝ‬‬
‫و‪ٔ ٝ‬مساض ٔحبؾج‪ ٝ‬قس‪ٔ ٜ‬قسَ ‪ٞ‬ط زا٘ف آٔ‪ٛ‬ظ ضا زض آٖ لطاض ز‪ٞ‬یٓ‪ .‬حبَ ‪ٚ‬اضز حّم‪ٝ‬‬
‫‪ for‬یه ٔشغیط ث‪٘ ٝ‬بْ ‪ sudent‬ثطای سكریم دبی‪ ٝ‬زضؾی ‪ٞ‬ط زا٘ف آٔ‪ٛ‬ظ سقطیف وطز‪ ٜ‬ایٓ‪.‬‬

‫‪ٔ for‬ی ق‪ٛ‬یٓ‪.‬زض ذظ‪ٔ 12‬مساض‬


‫اظ ٔشس )(‪ ٓٞ GetLength‬ثطای سكریم سقساز زا٘ف آٔ‪ٛ‬ظاٖ اؾشفبز‪ ٜ‬قس‪ ٜ‬اؾز‪ٚ .‬اضز ثس٘‪ ٝ‬حّم‪ٝ‬‬
‫ٔشغیط ‪ total‬ضا ثطاثط نفط لطاض ٔی ز‪ٞ‬یٓ‪ .‬ثقسا ٔكب‪ٞ‬س‪ٔ ٜ‬ی و‪ٙ‬یس و‪ ٝ‬چطا ایٗ وبض ضا ا٘دبْ زازیٓ‪ .‬ؾذؽ ثط٘بٔ‪ ٝ‬یه دیغبْ ضا ٘كبٖ‬
‫ٔی ز‪ٞ‬س ‪ ٚ‬اظ قٕب ٔی ذ‪ٛ‬ا‪ٞ‬س و‪ ٝ‬قٕبض‪ ٜ‬زا٘ف آٔ‪ٛ‬ظ ضا ‪ٚ‬اضز و‪ٙ‬یس ( ‪ .)student + 1‬فسز ‪ 1‬ضا ث‪ student ٝ‬اضبف‪ ٝ‬وطز‪ ٜ‬ایٓ سب ث‪ٝ‬‬
‫خبی ٕ٘بیف ‪ ،Student 0‬ثب ‪ Student 1‬قط‪ٚ‬ؿ ق‪ٛ‬ز‪ ،‬سب عجیقی سط ث‪٘ ٝ‬ؾط ثطؾس‪ .‬ؾذؽ ث‪ ٝ‬ز‪ٔٚ‬یٗ حّم‪ forٝ‬زض ذظ ‪ٔ 16‬ی ضؾیٓ‪.‬‬
‫‪ grade‬سقطیف ٔی و‪ٙ‬یٓ و‪ ٝ‬ع‪ َٛ‬ز‪ٔٚ‬یٗ ثقس آضای‪ ٝ‬ضا ثب اؾشفبز‪ ٜ‬اظ فطاذ‪ٛ‬ا٘ی ٔشس‬ ‫زض ایٗ حّم‪ ٝ‬یه ٔشغیط قٕبض٘س‪ ٜ‬ث‪٘ ٝ‬بْ‬
‫)‪ GetLength(1‬ث‪ ٝ‬زؾز ٔی آ‪ٚ‬ضز‪ .‬ایٗ ع‪ َٛ‬سقساز ٕ٘طاسی ضا و‪ ٝ‬ثط٘بٔ‪ ٝ‬اظ ؾ‪ٛ‬اَ ٔی و‪ٙ‬س ضا ٘كبٖ ٔی ز‪ٞ‬س‪.‬‬

‫ثط٘بٔ‪ ٝ‬چ‪ٟ‬بض ٕ٘ط‪ٔ ٜ‬طث‪ٛ‬ط ث‪ ٝ‬زا٘ف آٔ‪ٛ‬ظ ضا ٔی ٌیطز‪ٞ .‬ط ‪ٚ‬لز و‪ ٝ‬ثط٘بٔ‪ ٝ‬یه ٕ٘ط‪ ٜ‬ضا اظ وبضثط زضیبفز ٔی و‪ٙ‬س‪ٕ٘ ،‬ط‪ ٜ‬ث‪ٔ ٝ‬شغیط‪total‬‬
‫اضبف‪ٔ ٝ‬ی ق‪ٛ‬ز‪ٚ .‬لشی ‪ٕ٘ ٕٝٞ‬ط‪ٞ ٜ‬ب ‪ٚ‬اضز قس٘س‪ٔ ،‬شغیط‪ ٓٞ total‬خٕـ ‪ٕ٘ ٕٝٞ‬طار ضا ٘كبٖ ٔی ز‪ٞ‬س‪ .‬زض ذغ‪ٛ‬ط‪ٔ 23-24‬قسَ زا٘ف‬
‫آٔ‪ٛ‬ظ ٘كبٖ زاز‪ٔ ٜ‬ی ق‪ٛ‬ز‪ .‬ث‪ ٝ‬فطٔز}‪ {0:F2‬س‪ٛ‬خ‪ ٝ‬و‪ٙ‬یس‪ .‬ایٗ فطٔز ٔقسَ ضا سب ز‪ ٚ‬ضلٓ افكبض ٘كبٖ ٔی ز‪ٞ‬س‪ٔ .‬قسَ اظ سمؿیٓ وطزٖ‬
‫‪( total‬خٕـ) ثط سقساز ٕ٘طار ث‪ ٝ‬زؾز ٔی آیس‪ .‬اظ ٔشس)‪ ٓٞ GetLength(1‬ثطای ث‪ ٝ‬زؾز آ‪ٚ‬ضزٖ سقساز ٕ٘طار اؾشفبز‪ٔ ٜ‬ی ق‪ٛ‬ز‪.‬‬

‫آسایِ ّای دًذاًِ داس‬

‫آضای‪ٞ ٝ‬بی ز٘سا٘‪ ٝ‬زاض ٘‪ٛ‬فی اظ آضای‪ٞ ٝ‬بی چ‪ٙ‬س ثقسی ‪ٞ‬ؿش‪ٙ‬س و‪ ٝ‬قبُٔ ضزیف ‪ٞ‬بیی ثب ع‪ٞ َٛ‬بی ٔرشّف‪ٙ‬س‪ .‬آضای‪ ٝ‬چ‪ٙ‬س ثقسی ؾبز‪ٜ‬‬
‫آضای‪ ٝ‬ای ث‪ ٝ‬قىُ ٔؿشغیُ اؾز چ‪ ٖٛ‬سقساز ؾش‪ٟ٘ٛ‬بی آٖ یىؿبٖ اؾز ‪ِٚ‬ی آضای‪ ٝ‬ز٘سا٘‪ ٝ‬زاض زاضای ضزیف‪ٟ‬بی ثب ع‪ٞ َٛ‬بی ٔشفب‪ٚ‬ر‬
‫اؾز‪ .‬ث‪ٙ‬بثط ایٗ ٔی س‪ٛ‬اٖ یه آضای‪ ٝ‬ز٘سا٘‪ ٝ‬زاض ضا آضای‪ ٝ‬ای اظ آضای‪ٞ ٝ‬ب فطو وطز‪ .‬زض ظیط ٘ح‪ ٜٛ‬سقطیف آضای‪ٞ ٝ‬بی چ‪ٙ‬س ثقسی آٔس‪ٜ‬‬
‫اؾز‪.‬‬

‫;‪datatype[][] arrayName‬‬

‫ٔمساض ز‪ٞ‬ی ث‪ ٝ‬آضای‪ٞ ٝ‬بی ز٘سا٘‪ ٝ‬زاض ثؿیبض ٌیح و‪ٙٙ‬س‪ ٜ‬اؾز‪ .‬زض ظیط ٘ح‪ٔ ٜٛ‬مساض ز‪ٞ‬ی ث‪ ٝ‬یه آضای‪ ٝ‬ز٘سا٘‪ ٝ‬زاض ٘كبٖ زاز‪ ٜ‬قس‪ ٜ‬اؾز‬
‫‪:‬‬

‫;][]‪int[][] myArrays = new int[3‬‬

‫;]‪myArrays[0] = new int[3‬‬

‫‪123‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫;]‪myArrays[1] = new int[5‬‬


‫;]‪myArrays[2] = new int[2‬‬

‫اثشسا سقساز ضزیف‪ٟ‬بی آضای‪ ٝ‬ضا ث‪ٚ ٝ‬ؾیّ‪ ٝ‬وّٕ‪ ٝ‬وّیسی‪ new‬سقطیف ٔی و‪ٙ‬یٓ‪ ٚ ،‬ثقس ٘‪ٛ‬ؿ زاز‪ ٜ‬ای آضای‪ ٚ ٝ‬ؾذؽ ز‪ ٚ‬خفز وط‪ٚ‬ق‪ ٝ‬و‪ٝ‬‬
‫زض خفز وط‪ٚ‬ق‪ ٝ‬ا‪ َٚ‬سقساز ضزیف ‪ٞ‬ب لطاض زاضز ضا سقطیف ٔی و‪ٙ‬یٓ‪ .‬حبَ سقساز ؾش‪ٟ٘ٛ‬ب ‪ٞ‬ط ضزیف ضا ثب اؾشفبز‪ ٜ‬اظ ؾ‪ ٝ‬ضزیفی و‪ ٝ‬زض‬
‫زؾشطؼ اؾز ‪ ٚ‬ثب اؾشفبز‪ ٜ‬اظ ا٘سیؿ‪ٟ‬بی آ٘‪ٟ‬ب ٔب٘‪ٙ‬س یه آضای‪ ٝ‬ؾبز‪ٔ ٜ‬مساض ز‪ٞ‬ی ٔی و‪ٙ‬یٓ‪ٔ .‬ی س‪ٛ‬اٖ ث‪ ٝ‬ؾش‪ٟ٘ٛ‬بی ‪ٞ‬ط ضزیف ٔدٕ‪ٛ‬ف‪ٝ‬‬
‫ای اظ ٔمبزیط اذشهبل زاز ‪:‬‬

‫;][]‪int[][] myArrays = new int[3‬‬

‫;} ‪myArrays[0] = new int[3] { 1, 2, 3‬‬


‫;} ‪myArrays[1] = new int[5] { 5, 4, 3, 2, 1‬‬
‫;} ‪myArrays[2] = new int[2] { 11, 22‬‬

‫یه ضا‪ ٜ‬ث‪ٟ‬شط ثطای ٔمساضز‪ٞ‬ی ث‪ ٝ‬آضای‪ٞ ٝ‬بی ز٘سا٘‪ ٝ‬زاض ث‪ ٝ‬قىُ ظیط اؾز ‪:‬‬

‫‪int[][] myArrays = new int[3][] { new int[3] { 1, 2, 3 },‬‬


‫‪new int[5] { 5, 4, 3, 2, 1 },‬‬
‫;} } ‪new int[2] { 11, 22‬‬

‫‪ٕٞ‬چ‪ٙ‬یٗ ٔی س‪ٛ‬اٖ اظ شوط ع‪ َٛ‬ضزیف‪ٟ‬بی آضای‪ ٝ‬نطف ٘ؾط وطز ‪:‬‬

‫‪int[][] myArrays = new int[][] { new int[] { 1, 2, 3 },‬‬


‫‪new int[] { 5, 4, 3, 2, 1 },‬‬
‫;} } ‪new int[] { 11, 22‬‬

‫وس ثبال ضا ثبظ ‪ٔ ٓٞ‬ی س‪ٛ‬اٖ ؾبز‪ ٜ‬سط ٘‪ٛ‬قز ‪:‬‬

‫‪124‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫‪int[][] myArrays = { new int[] { 1, 2, 3 },‬‬


‫‪new int[] { 5, 4, 3, 2, 1 },‬‬
‫;} } ‪new int[] { 11, 22‬‬

‫ثطای زؾشطؾی ث‪ ٝ‬ف‪ٙ‬بنط یه آضای‪ ٝ‬ز٘سا٘‪ ٝ‬زاض ٔی س‪ٛ‬اٖ اظ ؾش‪ٞ ٖٛ‬ب ‪ ٚ‬ضزیف ‪ٞ‬بی آٖ اؾشفبز‪ ٜ‬وطز ‪:‬‬

‫]‪array[row][column‬‬

‫;)]‪Console.WriteLine(myArrays[1][2‬‬

‫اظ یه حّم‪ foreach ٝ‬ؾبز‪ٕ٘ ٜ‬ی س‪ٛ‬اٖ ثطای زؾشطؾی ث‪ ٝ‬اخعای ایٗ آضای‪ٞ ٝ‬ب اؾشفبز‪ ٜ‬وطز‪.‬‬

‫)‪foreach (int array in myArrays‬‬


‫{‬
‫;)‪Console.WriteLine(array‬‬
‫}‬

‫اٌط اظ حّم‪ foreach ٝ‬اؾشفبز‪ ٜ‬و‪ٙ‬یٓ ثب ذغب ٔ‪ٛ‬اخ‪ٔ ٝ‬ی ق‪ٛ‬یٓ چ‪ ٖٛ‬ف‪ٙ‬بنط ایٗ ٘‪ٛ‬ؿ آضای‪ٞ ٝ‬ب ‪ ،‬آضای‪ٞ ٝ‬ؿش‪ٙ‬س ٘‪ ٝ‬فسز یب ضقش‪ ٝ‬یب‪...‬‬
‫‪ .‬ثطای حُ ایٗ ٔكىُ ثبیس ٘‪ٛ‬ؿ ٔشغیط ٔ‪ٛ‬لشی ( ‪ )array‬ضا سغییط زاز‪ ٚ ٜ‬اظ حّم‪ foreach ٝ‬زیٍطی ثطای زؾشطؾی ث‪ٔ ٝ‬مبزیط‬
‫اؾشفبز‪ ٜ‬وطز‪ٔ .‬ثبَ ‪:‬‬

‫)‪foreach (int[] array in myArrays‬‬


‫{‬
‫)‪foreach (int number in array‬‬
‫{‬
‫;)‪Console.WriteLine(number‬‬
‫}‬
‫}‬

‫ایٗ وبض ثب اؾشفبز‪ ٜ‬اظ یه حّم‪ forٝ‬س‪ ٛ‬زض س‪ ٛ‬لبثُ اخطاؾز ‪:‬‬

‫)‪for (int row = 0; row < myArray.Length; row++‬‬


‫{‬
‫)‪for (int col = 0; col < myArray[row].Length; col++‬‬
‫{‬
‫;)]‪Console.WriteLine(myArray[row][col‬‬
‫}‬
‫}‬

‫زض ا‪ِٚ‬یٗ حّم‪ for ٝ‬ثب اؾشفبز‪ ٜ‬اظ ذبنیز‪ myArray ، Length‬سقساز ضزیف ‪ٞ‬بی آضای‪ ٝ‬ضا ث‪ ٝ‬زؾز ٔی آ‪ٚ‬ضیٓ‪.‬زض حّم‪ forٝ‬ز‪ْٚ‬‬
‫٘یع ثب اؾشفبز‪ ٜ‬اظ ذبنیز ‪ Length‬ف‪ٙ‬هط ضزیف خبضی سقساز ؾش‪ٟ٘ٛ‬ب ضا ث‪ ٝ‬زؾز ٔی آ‪ٚ‬ضیٓ‪ .‬ؾذؽ ثب اؾشفبز‪ ٜ‬اظ ا٘سیؽ ف‪ٙ‬بنط‬
‫آضای‪ ٝ‬ضا چبح ٔی و‪ٙ‬یٓ‪.‬‬

‫‪125‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫هسذّا‬
‫ٔشس‪ٞ‬ب ث‪ ٝ‬قٕب اخبظ‪ٔ ٜ‬ی ز‪ٙٞ‬س و‪ ٝ‬یه ضفشبض یب ‪ٚ‬ؽیف‪ ٝ‬ضا سقطیف و‪ٙ‬یس ‪ٔ ٚ‬دٕ‪ٛ‬ف‪ ٝ‬ای اظ وس‪ٞ‬ب ‪ٞ‬ؿش‪ٙ‬س و‪ ٝ‬زض ‪ٞ‬ط خبی ثط٘بٔ‪ٔ ٝ‬ی س‪ٛ‬اٖ‬
‫اظ آ٘‪ٟ‬ب اؾشفبز‪ ٜ‬وطز‪ٔ .‬شس‪ٞ‬ب زاضای آضٌ‪ٔٛ‬ب٘‪ٟ‬بیی ‪ٞ‬ؿش‪ٙ‬س و‪ٚ ٝ‬ؽیف‪ٔ ٝ‬شس ضا ٔكرم ٔی و‪ٙٙ‬س‪ٔ .‬شس زض زاذُ والؼ سقطیف ٔی ق‪ٛ‬ز‪.‬‬
‫ٕ٘ی س‪ٛ‬اٖ یه ٔشس ضا زض زاذُ ٔشس زیٍط سقطیف وطز‪ٚ .‬لشی و‪ ٝ‬قٕب زض ثط٘بٔ‪ ٝ‬یه ٔشس ضا نسا ٔی ظ٘یس ثط٘بٔ‪ ٝ‬ث‪ ٝ‬لؿٕز سقطیف‬
‫ٔشس ضفش‪ ٚ ٝ‬وس‪ٞ‬بی آٖ ضا اخطا ٔی و‪ٙ‬س‪ .‬زض ؾی قبضح ٔشسی ‪ٚ‬خ‪ٛ‬ز زاضز و‪٘ ٝ‬مغ‪ ٝ‬آغبظ ‪ٞ‬ط ثط٘بٔ‪ ٝ‬اؾز ‪ ٚ‬ثس‪ ٖٚ‬آٖ ثط٘بٔ‪ٞ ٝ‬ب ٕ٘ی‬
‫زا٘‪ٙ‬س ثب یس اظ ودب قط‪ٚ‬ؿ ق‪٘ٛ‬س ‪ ،‬ایٗ ٔشس ‪٘ Main‬بْ زاضز دبضأشط ‪ٞ‬ب ‪ٕٞ‬بٖ چیع‪ٞ‬بیی ‪ٞ‬ؿش‪ٙ‬س و‪ٔ ٝ‬شس ٔ‪ٙ‬شؾط زضیبفز آ٘‪ٟ‬ب اؾز‪.‬‬
‫آضٌ‪ٔٛ‬ب٘‪ٟ‬ب ٔمبزیطی ‪ٞ‬ؿش‪ٙ‬س و‪ ٝ‬ث‪ ٝ‬دبضأشط‪ٞ‬ب اضؾبَ ٔی ق‪٘ٛ‬س‪ٌ .‬ب‪ٞ‬ی ا‪ٚ‬لبر ز‪ ٚ‬وّٕ‪ ٝ‬دبضأشط ‪ ٚ‬آضٌ‪ٔٛ‬بٖ ث‪ ٝ‬یه ٔ‪ٙ‬ؾ‪ٛ‬ض ث‪ ٝ‬وبض ٔی‬
‫ض‪٘ٚ‬س‪ .‬ؾبز‪ ٜ‬سطیٗ ؾبذشبض یه ٔشس ث‪ ٝ‬ن‪ٛ‬ضر ظیط اؾز ‪:‬‬

‫)(‪returnType MethodName‬‬
‫{‬
‫;‪code to execute‬‬
‫}‬

‫ث‪ ٝ‬ثط٘بٔ‪ ٝ‬ؾبز‪ ٜ‬ظیط س‪ٛ‬خ‪ ٝ‬و‪ٙ‬یس‪ .‬زض ایٗ ثط٘بٔ‪ ٝ‬اظ یه ٔشس ثطای چبح یه دیغبْ زض نفح‪ٕ٘ ٝ‬بیف اؾشفبز‪ ٜ‬قس‪ ٜ‬اؾز ‪:‬‬

‫‪1‬‬ ‫;‪using System‬‬


‫‪2‬‬
‫‪3‬‬ ‫‪public class Program‬‬
‫‪4‬‬ ‫{‬
‫‪5‬‬ ‫)(‪static void PrintMessage‬‬
‫‪6‬‬ ‫{‬
‫‪7‬‬ ‫;)"!‪Console.WriteLine("Hello World‬‬
‫‪8‬‬ ‫}‬
‫‪9‬‬
‫‪10‬‬ ‫)(‪public static void Main‬‬
‫‪11‬‬ ‫{‬
‫‪12‬‬ ‫;)(‪PrintMessage‬‬
‫‪13‬‬ ‫}‬
‫‪14‬‬ ‫}‬
‫!‪Hello World‬‬

‫زض ذغ‪ٛ‬ط ‪ 5-8‬یه ٔشس سقطیف وطز‪ ٜ‬ایٓ‪ٔ .‬ىبٖ سقطیف آٖ زض زاذُ والؼ ٔ‪٘ ٟٓ‬یؿز‪ .‬ث‪ ٝ‬ف‪ٛٙ‬اٖ ٔثبَ ٔی س‪ٛ‬ا٘یس آٖ ضا ظیط ٔشس‬
‫‪ Main‬سقطیف و‪ٙ‬یس‪ٔ .‬ی س‪ٛ‬اٖ ایٗ ٔشس ضا زض زاذُ ٔشس زیٍط نسا ظز (فطاذ‪ٛ‬ا٘ی وطز)‪.‬‬

‫ٔشس زیٍط ٔب زض ای‪ٙ‬دب ٔشس‪ Main‬اؾز و‪ٔ ٝ‬ی س‪ٛ‬ا٘یٓ زض زاذُ آٖ ٘بْ ٔشسی و‪ ٝ‬ثطای چبح یه دیغبْ سقطیف وطز‪ ٜ‬ایٓ (یق‪ٙ‬ی ٔشس‬
‫‪ )PrintMessage‬ضا نسا ثع٘یٓ‪ٔ .‬شس ‪ Main‬ث‪ ٝ‬ن‪ٛ‬ضر ‪ static‬سقطیف قس‪ ٜ‬اؾز‪ .‬ثطای ای‪ٙ‬ى‪ ٝ‬ثش‪ٛ‬اٖ اظ ٔشس )(‪PrintMessage‬‬
‫زض زاذُ ٔشس )(‪ Main‬اؾشفبز‪ ٜ‬و‪ٙ‬یٓ ثبیس آٖ ضا ث‪ ٝ‬ن‪ٛ‬ضر‪ static‬سقطیف و‪ٙ‬یٓ‪.‬‬

‫‪Main‬‬
‫وّٕ‪ static ٝ‬ث‪ ٝ‬ع‪ٛ‬ض ؾبز‪ ٜ‬ث‪ ٝ‬ایٗ ٔق‪ٙ‬بؾز و‪ٔ ٝ‬ی س‪ٛ‬اٖ اظ ٔشس اؾشفبز‪ ٜ‬وطز ثس‪ ٖٚ‬ای‪ٙ‬ى‪ ٝ‬اظ والؼ ٕ٘‪ ٝ٘ٛ‬ای ؾبذش‪ ٝ‬ق‪ٛ‬ز‪ٔ .‬شس‬
‫‪ٕٛٞ‬اض‪ ٜ‬ثبیس ث‪ ٝ‬ن‪ٛ‬ضر ‪ static‬سقطیف ق‪ٛ‬ز چ‪ ٖٛ‬ثط٘بٔ‪ ٝ‬ف‪ٛ‬ضا ‪ ٚ‬ثس‪ ٕٝ٘ٛ٘ ٖٚ‬ؾبظی اظ والؼ اظ آٖ اؾشفبز‪ٔ ٜ‬ی و‪ٙ‬س‪ٚ .‬لشی ث‪ٔ ٝ‬جحث‬
‫ثط٘بٔ‪ٛ٘ ٝ‬یؿی قی ٌطا ضؾیسیس ث‪ ٝ‬ع‪ٛ‬ض زلیك وّٕ‪ٛٔ staticٝ‬ضز ثحث لطاض ٔی ٌیطز‪ .‬ثط٘بٔ‪ٔ( classٝ‬ثبَ ثبال) ظٔب٘ی اخطا ٔی ق‪ٛ‬ز‬

‫‪126‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫و‪ ٝ‬ثط٘بٔ‪ ٝ‬ز‪ٔ ٚ‬شسی ضا و‪ ٝ‬سقطیف وطز‪ ٜ‬ایٓ ضا اخطا و‪ٙ‬س ‪ٔ ٚ‬شس ‪ main‬ث‪ ٝ‬ن‪ٛ‬ضر ‪ static‬سقطیف ق‪ٛ‬ز‪ .‬زض ثبض‪ ٜ‬ایٗ وّٕ‪ ٝ‬وّیسی زض‬
‫زضؾ‪ٟ‬بی آی‪ٙ‬س‪ٔ ٜ‬غبِت ثیكشطی ٔی آٔ‪ٛ‬ظیٓ‪ .‬زض سقطیف ٔشس ثبال ثقس اظ وّٕ‪ staticٝ‬وّٕ‪ ٝ‬وّیسی ‪ void‬آٔس‪ ٜ‬اؾز و‪٘ ٝ‬كبٖ ز‪ٙٞ‬س‪ٜ‬‬
‫آٖ اؾز و‪ٔ ٝ‬شس ٔمساض ثطٌكشی ٘ساضز‪ .‬زض زضؼ آی‪ٙ‬س‪ ٜ‬زض ٔ‪ٛ‬ضز ٔمساض ثطٌكشی اظ یه ٔشس ‪ ٚ‬اؾشفبز‪ ٜ‬اظ آٖ ثطای ا‪ٞ‬ساف ٔرشّف‬
‫س‪ٛ‬ضیح زاز‪ ٜ‬ذ‪ٛ‬ا‪ٞ‬س قس‪٘ .‬بْ ٔشس ٔب‪ PrintMessage‬اؾز‪.‬‬

‫ث‪ ٝ‬ایٗ ٘ىش‪ ٝ‬س‪ٛ‬خ‪ ٝ‬و‪ٙ‬یس و‪ ٝ‬زض ٘بٍٔصاضی ٔشس اظ ض‪ٚ‬ـ دبؾىبَ (حطف ا‪ٞ َٚ‬ط وّٕ‪ ٝ‬ثعضي ٘‪ٛ‬قش‪ٔ ٝ‬ی ق‪ٛ‬ز) اؾشفبز‪ ٜ‬وطز‪ ٜ‬ایٓ‪ .‬ایٗ‬
‫ض‪ٚ‬ـ ٘بٍٔصاضی لطاضزازی اؾز ‪ٔ ٚ‬ی س‪ٛ‬اٖ اظ ایٗ ض‪ٚ‬ـ اؾشفبز‪٘ ٜ‬ىطز‪ ،‬أب دیك‪ٟٙ‬بز ٔی ق‪ٛ‬ز و‪ ٝ‬اظ ایٗ ض‪ٚ‬ـ ثطای سكریم ٔشس‪ٞ‬ب‬
‫اؾشفبز‪ ٜ‬و‪ٙ‬یس‪ .‬ث‪ٟ‬شط اؾز زض ٘بٍٔصاضی ٔشس‪ٞ‬ب اظ وّٕبسی اؾشفبز‪ ٜ‬ق‪ٛ‬ز و‪ ٝ‬وبض آ ٖ ٔشس ضا ٔكرم ٔی و‪ٙ‬س ٔثال ٘بْ ‪ٞ‬بیی ٔب٘‪ٙ‬س‬
‫‪ GoToBed‬یب ‪.OpenDoor‬‬

‫‪ٕٞ‬چ‪ٙ‬یٗ ث‪ ٝ‬ف‪ٛٙ‬اٖ ٔثبَ اٌط ٔمساض ثطٌكشی ٔشس یه ٔمساض ث‪ِٛ‬ی ثبقس ٔی س‪ٛ‬ا٘یس اؾٓ ٔشس ذ‪ٛ‬ز ضا ث‪ ٝ‬ن‪ٛ‬ضر یه وّٕ‪ ٝ‬ؾ‪ٛ‬اِی‬
‫ا٘شربة و‪ٙ‬یس ٔب٘‪ٙ‬س ‪ IsLeapyear‬یب ‪ِٚ ... IsTeenager‬ی اظ ٌصاقشٗ فالٔز ؾ‪ٛ‬اَ زض آذط اؾٓ ٔشس ذ‪ٛ‬ززاضی و‪ٙ‬یس‪ .‬ز‪ ٚ‬دطا٘شعی‬
‫و‪ ٝ‬ثقس اظ ٘بْ ٔی آیس ٘كبٖ ز‪ٙٞ‬س‪ ٜ‬آٖ اؾز و‪٘ ٝ‬بْ ٔشقّك ث‪ ٝ‬یه ٔشس اؾز‪ .‬زض ایٗ ٔثبَ زض زاذُ دطا٘شع ‪ٞ‬ب ‪ٞ‬یچ چیعی ٘‪ٛ‬قش‪ٝ‬‬
‫٘كس‪ ٜ‬چ‪ ٖٛ‬دبضأشطی ٘ساضز‪ .‬زض زضؾ‪ٟ‬بی آی‪ٙ‬س‪ ٜ‬زض ٔ‪ٛ‬ضز ٔشس‪ٞ‬ب ثیكشط س‪ٛ‬ضیح ٔی ز‪ٞ‬یٓ‪ .‬ثقس اظ دطا٘شع‪ٞ‬ب ز‪ ٚ‬آو‪ٛ‬الز لطاض ٔی ز‪ٞ‬یٓ‬
‫و‪ ٝ‬ثس٘‪ٔ ٝ‬شس ضا سكىیُ ٔی ز‪ٞ‬س ‪ ٚ‬وس‪ٞ‬بیی ضا و‪ٔ ٝ‬ی ذ‪ٛ‬ا‪ٞ‬یٓ اخطا ق‪٘ٛ‬س ضا زض زاذُ ایٗ آو‪ٛ‬الز ‪ٞ‬ب ٔی ٘‪ٛ‬یؿیٓ‪.‬‬

‫زض زاذُ ٔشس ‪ٔ Main‬شسی ضا و‪ ٝ‬زض ذظ ‪ 12‬ایدبز وطز‪ ٜ‬ایٓ ضا نسا ٔی ظ٘یٓ‪ .‬ثطای نسا ظزٖ یه ٔشس وبفیؿز ٘بْ آٖ ضا ٘‪ٛ‬قش‪ٚ ٝ‬‬
‫ثقس اظ ٘بْ دطا٘شع‪ٞ‬ب ضا لطاض ز‪ٞ‬یٓ‪ .‬اٌط ٔشس زاضای دبضأشط ثبقس ثبیس قٕب آضاٌ‪ٔٛ‬ب٘‪ٟ‬ب ضا ث‪ ٝ‬سطسیت زض زاذُ دطا٘شع‪ٞ‬ب لطاض ز‪ٞ‬یس‪ .‬زض ایٗ‬
‫ٔ‪ٛ‬ضز ٘یع زض زضؾ‪ٟ‬بی آی‪ٙ‬س‪ ٜ‬س‪ٛ‬ضیح ثیكشطی ٔی ز‪ٞ‬یٓ‪ .‬ثب نسا ظزٖ یه ٔشس وس‪ٞ‬بی زاذُ ثس٘‪ ٝ‬آٖ اخطا ٔی ق‪٘ٛ‬س‪ .‬ثطای اخطای‬
‫)(‪ٔ PrintMessage‬ی ض‪ٚ‬ز‪ٔ .‬ثال ‪ٚ‬لشی ٔب ٔشس‬ ‫‪ Main‬ث‪ٔ ٝ‬حُ سقطیف ٔشس‬ ‫ٔشس )(‪ PrintMessage‬ثط٘بٔ‪ ٝ‬اظ ٔشس‬
‫)(‪ PrintMessage‬ضا زض ذظ ‪ 12‬نسا ٔی ظ٘یٓ ثط٘بٔ‪ ٝ‬اظ ذظ ‪ 12‬ث‪ ٝ‬ذظ ‪ ، 7‬یق‪ٙ‬ی خبیی و‪ٔ ٝ‬شس سقطیف قس‪ٔ ٜ‬ی ض‪ٚ‬ز‪ .‬او‪ٔ ٖٛٙ‬ب‬
‫یه ٔشس زض ثط٘بٔ‪ classٝ‬زاضیٓ ‪ٔ ٕٝٞ ٚ‬شس‪ٞ‬بی ایٗ ثط٘بٔ‪ٔ ٝ‬ی س‪ٛ‬ا٘‪ٙ‬س آٖ ضا نسا ثع٘‪ٙ‬س‪.‬‬

‫همذاس تشگـسی اص یه هسذ‬

‫ٔشس‪ٞ‬ب ٔی س‪ٛ‬ا٘‪ٙ‬س ٔمساض ثطٌكشی اظ ‪ٞ‬ط ٘‪ٛ‬ؿ زاز‪ ٜ‬ای زاقش‪ ٝ‬ثبق‪ٙ‬س‪ .‬ایٗ ٔمبزیط ٔی س‪ٛ‬ا٘‪ٙ‬س زض ٔحبؾجبر یب ث‪ ٝ‬زؾز آ‪ٚ‬ضزٖ یه زاز‪ٜ‬‬
‫ٔ‪ٛ‬ضز اؾشفبز‪ ٜ‬لطاض ثٍیط٘س‪ .‬زض ظ٘سٌی ض‪ٚ‬ظٔط‪ ٜ‬فطو و‪ٙ‬یس و‪ ٝ‬وبضٔ‪ٙ‬س قٕب یه ٔشس اؾز ‪ ٚ‬قٕب ا‪ ٚ‬ضا نسا ٔی ظ٘یس ‪ ٚ‬اظ ا‪ٔ ٚ‬ی‬
‫ذ‪ٛ‬ا‪ٞ‬یس و‪ ٝ‬وبض یه ؾ‪ٙ‬س ضا ث‪ ٝ‬دبیبٖ ثطؾب٘س‪ .‬ؾذؽ اظ ا‪ٔ ٚ‬ی ذ‪ٛ‬ا‪ٞ‬یس و‪ ٝ‬ثقس اظ اسٕبْ وبضـ ؾ‪ٙ‬س ضا ث‪ ٝ‬قٕب سح‪ٛ‬یُ ز‪ٞ‬س‪ .‬ؾ‪ٙ‬س ‪ٕٞ‬بٖ‬
‫ٔمساض ثطٌكشی ٔشس اؾز‪٘ .‬ىش‪ ٟٓٔ ٝ‬زض ٔ‪ٛ‬ضز یه ٔشس‪ٔ ،‬مساض ثطٌكشی ‪٘ ٚ‬ح‪ ٜٛ‬اؾشفبز‪ ٜ‬قٕب اظ آٖ اؾز‪ .‬ثطٌكز یه ٔمساض اظ یه‬
‫ٔشس آؾبٖ اؾز‪ .‬وبفیؿز زض سقطیف ٔشس ث‪ ٝ‬ض‪ٚ‬ـ ظیط فُٕ و‪ٙ‬یس ‪:‬‬

‫)(‪returnType MethodName‬‬
‫{‬
‫;‪return value‬‬

‫‪127‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫}‬

‫‪ returnType‬زض ای‪ٙ‬دب ٘‪ٛ‬ؿ زاز‪ ٜ‬ای ٔمساض ثطٌكشی ضا ٔكرم ٔی و‪ٙ‬س (‪ .(...،bool،int‬زض زاذُ ثس٘‪ٔ ٝ‬شس وّٕ‪ ٝ‬وّیسی ‪return‬‬
‫‪ ٚ‬ثقس اظ آٖ یه ٔمساض یب فجبضسی و‪٘ ٝ‬شید‪ ٝ‬آٖ یه ٔمساض اؾز ضا ٔی ٘‪ٛ‬یؿیٓ‪ٛ٘ .‬ؿ ایٗ ٔمساض ثطٌكشی ثبیس اظ ا٘‪ٛ‬اؿ ؾبز‪ ٜ‬ث‪ٛ‬ز‪ ٚ ٜ‬زض‬
‫‪ void‬لجُ اظ ٘بْ ٔشس‬ ‫‪ٍٙٞ‬بْ ٘بٍٔصاضی ٔشس ‪ ٚ‬لجُ اظ ٘بْ ٔشس شوط ق‪ٛ‬ز‪ .‬اٌط ٔشس ٔب ٔمساض ثطٌكشی ٘ساقش‪ ٝ‬ثبقس ثبیس اظ وّٕ‪ٝ‬‬
‫اؾشفبز‪ ٜ‬و‪ٙ‬یٓ‪ٔ .‬ثبَ ظیط یه ٔشس و‪ ٝ‬زاضای ٔمساض ثطٌكشی اؾز ضا ٘كبٖ ٔی ز‪ٞ‬س‪.‬‬

‫‪1‬‬ ‫;‪using System‬‬


‫‪2‬‬
‫‪3‬‬ ‫‪public class Program‬‬
‫‪4‬‬ ‫{‬
‫‪5‬‬ ‫)(‪static int CalculateSum‬‬
‫‪6‬‬ ‫{‬
‫‪7‬‬ ‫;‪int firstNumber = 10‬‬
‫‪8‬‬ ‫;‪int secondNumber = 5‬‬
‫‪9‬‬
‫‪10‬‬ ‫;‪int sum = firstNumber + secondNumber‬‬
‫‪11‬‬
‫‪12‬‬ ‫;‪return sum‬‬
‫‪13‬‬ ‫}‬
‫‪14‬‬
‫‪15‬‬ ‫)(‪public static void Main‬‬
‫‪16‬‬ ‫{‬
‫‪17‬‬ ‫;)(‪int result = CalculateSum‬‬
‫‪18‬‬
‫‪19‬‬ ‫;)‪Console.WriteLine("Sum is {0}.", result‬‬
‫‪20‬‬ ‫}‬
‫‪21‬‬ ‫}‬
‫‪Sum is 15.‬‬

‫‪ٕٞ‬ب٘غ‪ٛ‬ض و‪ ٝ‬زض ذظ‪ٔ 5‬ثبَ ف‪ٛ‬ق ٔكب‪ٞ‬س‪ٔ ٜ‬ی و‪ٙ‬یس ‪ٍٙٞ‬بْ سقطیف ٔشس اظ وّٕ‪ intٝ‬ث‪ ٝ‬خبی ‪ void‬اؾشفبز‪ ٜ‬وطز‪ ٜ‬ایٓ و‪٘ ٝ‬كبٖ ز‪ٙٞ‬س‪ٜ‬‬
‫ذغ‪ٛ‬ط ‪ 8 ٚ‬ز‪ٔ ٚ‬شغیط سقطیف ‪ٔ ٚ‬مساض ز‪ٞ‬ی قس‪ ٜ‬ا٘س‪ .‬س‪ٛ‬خ‪ٝ‬‬
‫‪7‬‬ ‫آٖ اؾز و‪ٔ ٝ‬شس ٔب زاضای ٔمساض ثطٌكشی اظ ٘‪ٛ‬ؿ افساز نحیح اؾز‪ .‬زض‬
‫و‪ٙ‬یس و‪ ٝ‬ایٗ ٔشغیط‪ٞ‬ب‪ٔ ،‬شغیط‪ٞ‬بی ٔحّی ‪ٞ‬ؿش‪ٙ‬س‪ ٚ .‬ایٗ ثساٖ ٔق‪ٙ‬ی اؾز و‪ ٝ‬ایٗ ٔشغیط‪ٞ‬ب زض ؾبیط ٔشس‪ٞ‬ب ٔب٘‪ٙ‬س ٔشس ‪ Main‬لبثُ‬
‫‪ 10‬خٕـ ز‪ٔ ٚ‬شغیط زض ٔشغیط‪ sum‬لطاض‬
‫زؾشطؾی ٘یؿش‪ٙ‬س ‪ ٚ‬فمظ زض ٔشسی و‪ ٝ‬زض آٖ سقطیف قس‪ ٜ‬ا٘س لبثُ اؾشفبز‪ٞ ٜ‬ؿش‪ٙ‬س‪ .‬زض ذظ‬
‫ٔی ٌیطز‪ .‬زض ذظ‪ٔ 12‬مساض ثطٌكشی‪ sum‬س‪ٛ‬ؾظ زؾش‪ٛ‬ض‪ return‬فطاذ‪ٛ‬ا٘ی ٔی ق‪ٛ‬ز‪.‬‬

‫زض زاذُ ٔشس ‪ Main‬یه ٔشغیطث‪٘ ٝ‬بْ ‪ result‬زض ذظ ‪ 17‬سقطیف ٔی و‪ٙ‬یٓ ‪ٔ ٚ‬شس )(‪ CalculateSum‬ضا فطاذ‪ٛ‬ا٘ی ٔی و‪ٙ‬یٓ‪ٔ .‬شس‬
‫)(‪ٔ CalculateSum‬مساض ‪ 158‬ضا ثط ٔی ٌطزا٘س و‪ ٝ‬زض زاذُ ٔشغیط ‪ result‬شذیط‪ٔ ٜ‬ی ق‪ٛ‬ز‪ .‬زض ذظ ‪ٔ 19‬مساض شذیط‪ ٜ‬قس‪ ٜ‬زض‬
‫ٔشغیط ‪ result‬چبح ٔی ق‪ٛ‬ز‪ٔ .‬شسی و‪ ٝ‬زض ایٗ ٔثبَ شوط قس ٔشس وبضثطزی ‪ٔ ٚ‬فیسی ٘یؿز‪ .‬ثب ‪ٚ‬خ‪ٛ‬زیى‪ ٝ‬وس‪ٞ‬بی ظیبزی زض ٔشس ثبال‬
‫٘‪ٛ‬قش‪ ٝ‬قس‪ِٚ ٜ‬ی ‪ٕٞ‬یك‪ٔ ٝ‬مساض ثطٌكشی‪ 15‬اؾز‪ ،‬زض حبِیى‪ٔ ٝ‬ی س‪ٛ‬ا٘ؿشیٓ ث‪ ٝ‬ضاحشی یه ٔشغیط سقطیف وطز‪ٔ ٚ ٜ‬مساض‪ 15‬ضا ث‪ ٝ‬آٖ‬
‫اذشهبل ز‪ٞ‬یٓ‪ .‬ایٗ ٔشس زض ن‪ٛ‬ضسی وبضأس اؾز و‪ ٝ‬دبضأشط‪ٞ‬بیی ث‪ ٝ‬آٖ اضبف‪ ٝ‬ق‪ٛ‬ز و‪ ٝ‬زض زضؾ‪ٟ‬بی آی‪ٙ‬س‪ ٜ‬س‪ٛ‬ضیح ذ‪ٛ‬ا‪ٞ‬یٓ زاز‪.‬‬
‫‪ٍٙٞ‬بٔی و‪ٔ ٝ‬ی ذ‪ٛ‬ا‪ٞ‬یٓ زض زاذُ یه ٔشس اظ زؾش‪ٛ‬ض‪ if‬یب ‪ switch‬اؾشفبز‪ ٜ‬و‪ٙ‬یٓ ثبیس سٕبْ وس‪ٞ‬ب زاضای ٔمساض ثطٌكشی ثبق‪ٙ‬س‪ .‬ثطای‬
‫زضن ث‪ٟ‬شط ایٗ ٔغّت ث‪ٔ ٝ‬ثبَ ظیط س‪ٛ‬خ‪ ٝ‬و‪ٙ‬یس ‪:‬‬

‫‪128‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫‪1‬‬ ‫;‪using System‬‬


‫‪2‬‬
‫‪3‬‬ ‫‪public class Program‬‬
‫‪4‬‬ ‫{‬
‫‪5‬‬ ‫)(‪static int GetNumber‬‬
‫‪6‬‬ ‫{‬
‫‪7‬‬ ‫;‪int number‬‬
‫‪8‬‬
‫‪9‬‬ ‫;)" ‪Console.Write("Enter a number greater than 10:‬‬
‫‪10‬‬ ‫;))(‪number = Convert.ToInt32(Console.ReadLine‬‬
‫‪11‬‬
‫‪12‬‬ ‫)‪if (number > 10‬‬
‫‪13‬‬ ‫{‬
‫‪14‬‬ ‫;‪return number‬‬
‫‪15‬‬ ‫}‬
‫‪16‬‬ ‫‪else‬‬
‫‪17‬‬ ‫{‬
‫‪18‬‬ ‫;‪return 0‬‬
‫‪19‬‬ ‫}‬
‫‪20‬‬ ‫}‬
‫‪21‬‬
‫‪22‬‬ ‫)(‪public static void Main‬‬
‫‪23‬‬ ‫{‬
‫‪24‬‬ ‫;)(‪int result = GetNumber‬‬
‫‪25‬‬
‫‪26‬‬ ‫;)‪Console.WriteLine("Result = {0}.", result‬‬
‫‪27‬‬ ‫}‬
‫} ‪28‬‬
‫‪Enter a number greater than 10: 11‬‬
‫‪Result = 11‬‬
‫‪Enter a number greater than 10: 9‬‬
‫‪Result = 0‬‬

‫زض ذغ‪ٛ‬ط ‪ 5-20‬یه ٔشس ثب ٘بْ )(‪ GetNumber‬سقطیف قس‪ ٜ‬اؾز و‪ ٝ‬اظ وبضثط یه فسز ثعضٌشط اظ‪ 10‬ضا ٔی ذ‪ٛ‬ا‪ٞ‬س‪ .‬اٌط فسز ‪ٚ‬اضز‬
‫قس‪ ٜ‬س‪ٛ‬ؾظ وبضثط زضؾز ٘جبقس ٔشس ٔمساض نفط ضا ثط ٔی ٌطزا٘س‪.‬‬

‫‪ ٚ‬اٌط لؿٕز ‪ else‬زؾش‪ٛ‬ض ‪ ٚ if‬یب زؾش‪ٛ‬ض ‪ return‬ضا اظ آٖ حصف و‪ٙ‬یٓ زض ‪ٍٙٞ‬بْ اخطای ثط٘بٔ‪ ٝ‬ثب دیغبْ ذغب ٔ‪ٛ‬اخ‪ٔ ٝ‬ی ق‪ٛ‬یٓ‪ .‬چ‪ٖٛ‬‬
‫اٌط قطط زؾش‪ٛ‬ض ‪٘ if‬بزضؾز ثبقس (وبضثط ٔمساضی وٕشط اظ‪ 10‬ضا ‪ٚ‬اضز و‪ٙ‬س) ثط٘بٔ‪ ٝ‬ث‪ ٝ‬لؿٕز‪ٔ else‬ی ض‪ٚ‬ز سب ٔمساض نفط ضا ثط ٌطزا٘س‬
‫‪ ٚ‬چ‪ ٖٛ‬لؿٕز ‪ else‬حصف قس‪ ٜ‬اؾز ثط٘بٔ‪ ٝ‬ثب ذغب ٔ‪ٛ‬اخ‪ٔ ٝ‬ی ق‪ٛ‬ز ‪ٕٞ ٚ‬چ‪ٙ‬یٗ اٌط زؾش‪ٛ‬ض‪ return‬حصف ق‪ٛ‬ز چ‪ ٖٛ‬ثط٘بٔ‪٘ ٝ‬یبظ ث‪ٝ‬‬
‫ٔمساض ثطٌكشی زاضز دیغبْ ذغب ٔی ز‪ٞ‬س‪ ٚ .‬آذطیٗ ٔغّجی و‪ ٝ‬زض ایٗ زضؼ ٔی ذ‪ٛ‬ا‪ٞ‬یٓ ث‪ ٝ‬قٕب آٔ‪ٛ‬ظـ ز‪ٞ‬یٓ ایٗ اؾز و‪ ٝ‬قٕب ٔی‬
‫س‪ٛ‬ا٘یس اظ یه ٔشس و‪ٔ ٝ‬مساض ثطٌكشی ٘ساضز ذبضج ق‪ٛ‬یس‪ .‬حشی اٌط اظ ٘‪ٛ‬ؿ زاز‪ ٜ‬ای‪ void‬زض یه ٔشس اؾشفبز‪ٔ ٜ‬ی و‪ٙ‬یس ثبظ ‪ٔ ٓٞ‬ی‬
‫س‪ٛ‬ا٘یس وّٕ‪ ٝ‬وّیسی ‪ return‬ضا زض آٖ ث‪ ٝ‬وبض ثجطیس‪ .‬اؾشفبز‪ ٜ‬اظ ‪ return‬ثبفث ذط‪ٚ‬ج اظ ثس٘‪ٔ ٝ‬شس ‪ ٚ‬اخطای وس‪ٞ‬بی ثقس اظ آٖ ٔی‬
‫ق‪ٛ‬ز‪.‬‬

‫‪1‬‬ ‫;‪using System‬‬


‫‪2‬‬
‫‪3‬‬ ‫‪public class Program‬‬

‫‪129‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫‪4‬‬ ‫{‬
‫‪5‬‬ ‫)(‪static void TestReturnExit‬‬
‫‪6‬‬ ‫{‬
‫‪7‬‬ ‫‪Console.WriteLine("Line 1 inside the method‬‬ ‫;)")(‪TestReturnExit‬‬
‫‪8‬‬ ‫‪Console.WriteLine("Line 2 inside the method‬‬ ‫;)")(‪TestReturnExit‬‬
‫‪9‬‬
‫‪10‬‬ ‫;‪return‬‬
‫‪11‬‬
‫‪12‬‬ ‫‪//The following lines will not execute‬‬
‫‪13‬‬ ‫‪Console.WriteLine("Line 3 inside the method‬‬ ‫;)")(‪TestReturnExit‬‬
‫‪14‬‬ ‫‪Console.WriteLine("Line 4 inside the method‬‬ ‫;)")(‪TestReturnExit‬‬
‫‪15‬‬ ‫}‬
‫‪16‬‬
‫‪17‬‬ ‫)(‪public static void Main‬‬
‫‪18‬‬ ‫{‬
‫‪19‬‬ ‫;)(‪TestReturnExit‬‬
‫‪20‬‬ ‫;)"!‪Console.WriteLine("Hello World‬‬
‫‪21‬‬ ‫}‬
‫} ‪22‬‬
‫)(‪Line 1 inside the method TestReturnExit‬‬
‫)(‪Line 2 inside the method TestReturnExit‬‬
‫!‪Hello World‬‬

‫زض ثط٘بٔ‪ ٝ‬ثبال ٘ح‪ ٜٛ‬ذط‪ٚ‬ج اظ ٔشس ثب اؾشفبز‪ ٜ‬اظ وّٕ‪ ٝ‬وّیسی ‪٘ ٚ return‬بزیس‪ٌ ٜ‬طفشٗ ‪ ٕٝٞ‬وس‪ٞ‬بی ثقس اظ ایٗ وّٕ‪ ٝ‬وّیسی ٘كبٖ‬
‫)(‪ )TestReturnExit‬زض زاذُ ٔشس‪ Main‬فطاذ‪ٛ‬ا٘ی ‪ ٚ‬اخطا ٔی ق‪ٛ‬ز‪.‬‬
‫زاز‪ ٜ‬قس‪ ٜ‬اؾز‪ .‬زض دبیبٖ ثط٘بٔ‪ٔ ٝ‬شس سقطیف قس‪( ٜ‬‬

‫خاساهسشّا ٍ آسگَهاى ّا‬

‫دبضأشط‪ٞ‬ب زاز‪ٞ ٜ‬بی ذبٔی ‪ٞ‬ؿش‪ٙ‬س و‪ٔ ٝ‬شس آ٘‪ٟ‬ب ضا دطزاظـ ٔی و‪ٙ‬س ‪ ٚ‬ؾذؽ اعالفبسی ضا و‪ ٝ‬ث‪ ٝ‬ز٘جبَ آٖ ‪ٞ‬ؿشیس زض اذشیبض قٕب لطاض‬
‫ٔی ز‪ٞ‬س‪ .‬فطو و‪ٙ‬یس دبضأشط‪ٞ‬ب ٔب٘‪ٙ‬س اعالفبسی ‪ٞ‬ؿش‪ٙ‬س و‪ ٝ‬قٕب ث‪ ٝ‬یه وبضٔ‪ٙ‬س ٔی ز‪ٞ‬یس و‪ ٝ‬ثط عجك آ٘‪ٟ‬ب وبضـ ضا ث‪ ٝ‬دبیبٖ ثطؾب٘س‪.‬‬
‫یه ٔشس ٔی س‪ٛ‬ا٘س ‪ٞ‬ط سقساز دبضأشط زاقش‪ ٝ‬ثبقس‪ٞ .‬ط دبضأشط ٔی س‪ٛ‬ا٘س اظ ا٘‪ٛ‬اؿ ٔرشّف زاز‪ ٜ‬ثبقس‪.‬‬

‫زض ظیط یه ٔشس ثب‪ N‬دبضأشط ٘كبٖ زاز‪ ٜ‬قس‪ ٜ‬اؾز ‪:‬‬

‫)‪returnType MethodName(datatype param1, datatype param2, ... datatype paramN‬‬


‫{‬
‫;‪code to execute‬‬
‫}‬

‫دبضأشط‪ٞ‬ب ثقس اظ ٘بْ ٔشس ‪ ٚ‬ثیٗ دطا٘شع‪ٞ‬ب لطاض ٔی ٌیط٘س‪ .‬ثط اؾبؼ وبضی و‪ٔ ٝ‬شس ا٘دبْ ٔی ز‪ٞ‬س ٔی س‪ٛ‬اٖ سقساز دبضأشط‪ٞ‬بی ظیبزی ث‪ٝ‬‬
‫ٔشس اضبف‪ ٝ‬وطز‪ .‬ثقس اظ فطاذ‪ٛ‬ا٘ی یه ٔشس ثبیس آضٌ‪ٔٛ‬ب٘‪ٟ‬بی آٖ ضا ٘یع سبٔیٗ و‪ٙ‬یس‪ .‬آضٌ‪ٔٛ‬ب٘‪ٟ‬ب ٔمبزیطی ‪ٞ‬ؿش‪ٙ‬س و‪ ٝ‬ث‪ ٝ‬دبضأشط‪ٞ‬ب‬

‫‪130‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫اذشهبل زاز‪ٔ ٜ‬ی ق‪٘ٛ‬س‪ .‬سطسیت اضؾبَ آضٌ‪ٔٛ‬ب٘‪ٟ‬ب ث‪ ٝ‬دبضأشط‪ٞ‬ب ٔ‪ ٟٓ‬اؾز‪ .‬فسْ ضفبیز سطسیت زض اضؾبَ آضٌ‪ٔٛ‬ب٘‪ٟ‬ب ثبفث ث‪ٚ ٝ‬خ‪ٛ‬ز‬
‫آٔسٖ ذغبی ٔ‪ٙ‬غمی ‪ ٚ‬ذغبی ظٔبٖ اخطا ٔی ق‪ٛ‬ز‪.‬اخبظ‪ ٜ‬ثس‪ٞ‬یس و‪ ٝ‬یه ٔثبَ ثع٘یٓ ‪:‬‬

‫‪1‬‬ ‫;‪using System‬‬


‫‪2‬‬
‫‪3‬‬ ‫‪public class Program‬‬
‫‪4‬‬ ‫{‬
‫‪5‬‬ ‫)‪static int CalculateSum(int number1, int number2‬‬
‫‪6‬‬ ‫{‬
‫‪7‬‬ ‫;‪return number1 + number2‬‬
‫‪8‬‬ ‫}‬
‫‪9‬‬
‫‪10‬‬ ‫)(‪public static void Main‬‬
‫‪11‬‬ ‫{‬
‫‪12‬‬ ‫;‪int num1, num2‬‬
‫‪13‬‬
‫‪14‬‬ ‫;)" ‪Console.Write("Enter the first number:‬‬
‫‪15‬‬ ‫;))(‪num1 = Convert.ToInt32(Console.ReadLine‬‬
‫‪16‬‬ ‫;)" ‪Console.Write("Enter the second number:‬‬
‫‪17‬‬ ‫;))(‪num2 = Convert.ToInt32(Console.ReadLine‬‬
‫‪18‬‬
‫‪19‬‬ ‫;))‪Console.WriteLine("Sum = {0}", CalculateSum(num1, num2‬‬
‫‪20‬‬ ‫}‬
‫‪21‬‬ ‫}‬
‫‪Enter the first number: 10‬‬
‫‪Enter the second number: 5‬‬
‫‪Sum = 15‬‬

‫زض ثط٘بٔ‪ ٝ‬ثبال یه ٔشس ث‪٘ ٝ‬بْ‪( CalculateSum‬ذغ‪ٛ‬ط ‪ )5-8‬سقطیف قس‪ ٜ‬اؾز و‪ٚ ٝ‬ؽیف‪ ٝ‬آٖ خٕـ ٔمساض ز‪ ٚ‬فسز اؾز‪ .‬چ‪ ٖٛ‬ایٗ‬
‫ٔشس ٔمساض ز‪ ٚ‬فسز نحیح ضا ثب ‪ ٓٞ‬خٕـ ٔی و‪ٙ‬س دؽ ٘‪ٛ‬ؿ ثطٌكشی ٔب ٘یع ثبیس‪ int‬ثبقس‪ٔ .‬شس زاضای ز‪ ٚ‬دبضأشط اؾز و‪ ٝ‬افساز ضا ث‪ٝ‬‬
‫آ٘‪ٟ‬ب اضؾبَ ٔی و‪ٙ‬یٓ‪ .‬ث‪ٛ٘ ٝ‬ؿ زاز‪ ٜ‬ای دبضأشط‪ٞ‬ب س‪ٛ‬خ‪ ٝ‬و‪ٙ‬یس‪ٞ .‬ط ز‪ ٚ‬دبضأشط یق‪ٙ‬ی‪ٔ number2 ٚ number1‬مبزیطی اظ ٘‪ٛ‬ؿ افساز‬
‫نحیح (‪ )int‬زضیبفز ٔی و‪ٙٙ‬س‪ .‬زض ثس٘‪ٔ ٝ‬شس زؾش‪ٛ‬ض‪٘ return‬شید‪ ٝ‬خٕـ ز‪ ٚ‬فسز ضا ثط ٔی ٌطزا٘س‪ .‬زض زاذُ ٔشس‪ Main‬ثط٘بٔ‪ ٝ‬اظ‬
‫وبضثط ز‪ٔ ٚ‬مساض ضا زضذ‪ٛ‬اؾز ٔی و‪ٙ‬س ‪ ٚ‬آ٘‪ٟ‬ب ضا زاذُ ٔشغیط ‪ٞ‬ب لطاض ٔی ز‪ٞ‬س‪ .‬حبَ ٔشس ضا و‪ ٝ‬آضٌ‪ٔٛ‬ب٘‪ٟ‬بی آٖ ضا آٔبز‪ ٜ‬وطز‪ ٜ‬ایٓ‬
‫فطاذ‪ٛ‬ا٘ی ٔی و‪ٙ‬یٓ‪ٔ .‬مساض‪ num1‬ث‪ ٝ‬دبضأشط ا‪ٔ ٚ َٚ‬مساض‪ num2‬ث‪ ٝ‬دبضأشط ز‪ ْٚ‬اضؾبَ ٔی ق‪ٛ‬ز‪ .‬حبَ اٌط ٔىبٖ ز‪ٔ ٚ‬مساض ضا ‪ٍٙٞ‬بْ‬
‫اضؾبَ ث‪ٔ ٝ‬شس سغییط ز‪ٞ‬یٓ (یق‪ٙ‬ی ٔمساض‪ num2‬ث‪ ٝ‬دبضأشط ا‪ٔ ٚ َٚ‬مساض ‪ num1‬ث‪ ٝ‬دبضأشط ز‪ ْٚ‬اضؾبَ ق‪ٛ‬ز) ‪ٞ‬یچ سغییطی زض ٘شید‪ٝ‬‬
‫ٔشس ٘ساضز چ‪ ٖٛ‬خٕـ ذبنیز خبث‪ ٝ‬خبیی زاضز‪.‬‬

‫فمظ ث‪ ٝ‬یبز زاقش‪ ٝ‬ثبقیس و‪ ٝ‬ثبیس سطسیت اضؾبَ آضٌ‪ٔٛ‬ب٘‪ٟ‬ب ‪ٍٙٞ‬بْ فطاذ‪ٛ‬ا٘ی ٔشس زلیمب ثب سطسیت لطاض ٌیطی دبضأشط‪ٞ‬ب سقطیف قس‪ ٜ‬زض‬
‫ٔشس ٔغبثمز زاقش‪ ٝ‬ثبقس‪ .‬ثقس اظ اضؾبَ ٔمبزیط ‪ 5 ٚ 10‬ث‪ ٝ‬دبضأشط‪ٞ‬ب ‪ ،‬دبضأشط‪ٞ‬ب آ٘‪ٟ‬ب ضا زضیبفز ٔی و‪ٙٙ‬س‪ .‬ث‪ ٝ‬ایٗ ٘ىش‪٘ ٝ‬یع س‪ٛ‬خ‪ٝ‬‬
‫و‪ٙ‬یس و‪٘ ٝ‬بْ دبضأشط‪ٞ‬ب عجك لطاضزاز ث‪ ٝ‬قی‪ ٜٛ‬و‪ٞٛ‬بٖ قشطی یب ‪ ( camelCasing‬حطف ا‪ َٚ‬ز‪ٔٚ‬یٗ وّٕ‪ ٝ‬ثعضي ٘‪ٛ‬قش‪ٔ ٝ‬ی ق‪ٛ‬ز)‬
‫)(‬ ‫‪ )7‬ز‪ٔ ٚ‬مساض ثب ‪ ٓٞ‬خٕـ ٔی ق‪٘ٛ‬س ‪٘ ٚ‬شید‪ ٝ‬ث‪ٔ ٝ‬شس فطاذ‪ٛ‬اٖ (ٔشسی و‪ٔ ٝ‬شس‬ ‫٘‪ٛ‬قش‪ٔ ٝ‬ی ق‪ٛ‬ز‪ .‬زض زاذُ ثس٘‪ٔ ٝ‬شس (ذظ‬
‫‪ CalculateSum‬ضا فطاذ‪ٛ‬ا٘ی ٔی و‪ٙ‬س) اضؾبَ ٔی ق‪ٛ‬ز‪.‬‬

‫‪131‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫زض زضؼ آی‪ٙ‬س‪ ٜ‬اظ یه ٔشغیط ثطای شذیط‪٘ ٜ‬شید‪ٔ ٝ‬حبؾجبر اؾشفبز‪ٔ ٜ‬ی و‪ٙ‬یٓ ‪ِٚ‬ی زض ای‪ٙ‬دب ٔكب‪ٞ‬س‪ٔ ٜ‬ی و‪ٙ‬یس و‪ٔ ٝ‬ی س‪ٛ‬اٖ ث‪ٝ‬‬
‫ؾبزٌی ٘شید‪ ٝ‬خٕـ ضا ٘كبٖ زاز (ذظ‪ .)7‬زض زاذُ ٔشس ‪ Main‬اظ ٔب ز‪ ٚ‬فسز و‪ ٝ‬لطاض اؾز ثب ‪ ٓٞ‬خٕـ ق‪٘ٛ‬س زضذ‪ٛ‬اؾز ٔی ق‪ٛ‬ز‪.‬‬
‫زض ذظ ‪ٔ 19‬شس )(‪ CalculateSum‬ضا فطاذ‪ٛ‬ا٘ی ٔی و‪ٙ‬یٓ ‪ ٚ‬ز‪ٔ ٚ‬مساض نحیح ث‪ ٝ‬آٖ اضؾبَ ٔی و‪ٙ‬یٓ‪.‬‬

‫ز‪ ٚ‬فسز نحیح زض زاذُ ٔشس ثب ‪ ٓٞ‬خٕـ قس‪٘ ٚ ٜ‬شید‪ ٝ‬آ٘‪ٟ‬ب ثطٌطزا٘س‪ٔ ٜ‬ی ق‪ٛ‬ز‪ٔ .‬مساض ثطٌكز زاز‪ ٜ‬قس‪ ٜ‬اظ ٔشس ث‪ٚ ٝ‬ؾیّ‪ٔ ٝ‬شس‬
‫)(‪ WriteLine‬اظ والؼ ‪ٕ٘ console‬بیف زاز‪ٔ ٜ‬ی ق‪ٛ‬ز(ذظ‪ .)19‬زض ثط٘بٔ‪ ٝ‬ظیط یه ٔشس سقطیف قس‪ ٜ‬اؾز و‪ ٝ‬زاضای ز‪ ٚ‬دبضأشط اظ‬
‫ز‪ٛ٘ ٚ‬ؿ زاز‪ ٜ‬ای ٔرشّف اؾز‪:‬‬

‫‪1‬‬ ‫;‪using System‬‬


‫‪2‬‬
‫‪3‬‬ ‫‪public class Program‬‬
‫‪4‬‬ ‫{‬
‫‪5‬‬ ‫)‪static void ShowMessageAndNumber(string message, int number‬‬
‫‪6‬‬ ‫{‬
‫‪7‬‬ ‫;)‪Console.WriteLine(message‬‬
‫‪8‬‬ ‫;)‪Console.WriteLine("Number = {0}", number‬‬
‫‪9‬‬ ‫}‬
‫‪10‬‬
‫‪11‬‬ ‫)(‪public static void Main‬‬
‫‪12‬‬ ‫{‬
‫‪13‬‬ ‫;)‪ShowMessageAndNumber("Hello World!", 100‬‬
‫‪14‬‬ ‫}‬
‫‪15‬‬ ‫}‬
‫!‪Hello World‬‬
‫‪Number = 100‬‬

‫‪int‬‬ ‫زض ٔثبَ ثبال یه ٔشسی سقطیف قس‪ ٜ‬اؾز و‪ ٝ‬ا‪ِٚ‬یٗ دبضأشط آٖ ٔمساضی اظ ٘‪ٛ‬ؿ ضقش‪ ٚ ٝ‬ز‪ٔٚ‬یٗ دبضأشط آٖ ٔمساضی اظ ٘‪ٛ‬ؿ‬
‫زضیبفز ٔی و‪ٙ‬س‪ٔ .‬شس ث‪ ٝ‬ؾبزٌی ز‪ٔ ٚ‬مساضی و‪ ٝ‬ث‪ ٝ‬آٖ اضؾبَ قس‪ ٜ‬اؾز ضا ٘كبٖ ٔی ز‪ٞ‬س‪ .‬زض ذظ ‪ٔ 13‬شس ضا ا‪ َٚ‬ثب یه ضقش‪ٚ ٝ‬‬
‫ؾذؽ یه فسز ذبل فطاذ‪ٛ‬ا٘ی ٔی و‪ٙ‬یٓ ‪ .‬حبَ اٌط ٔشس ث‪ ٝ‬ن‪ٛ‬ضر ظیط فطاذ‪ٛ‬ا٘ی ٔی قس ‪:‬‬

‫;)"!‪ShowMessageAndNumber(100, "Welcome to Gimme C#‬‬

‫زض ثط٘بٔ‪ ٝ‬ذغب ث‪ٚ ٝ‬خ‪ٛ‬ز ٔی آٔس چ‪ ٖٛ‬فسز ‪ 100‬ث‪ ٝ‬دبضأشطی اظ ٘‪ٛ‬ؿ ضقش‪ ٚ ٝ‬ضقش‪ Hello World! ٝ‬ث‪ ٝ‬دبضأشطی اظ ٘‪ٛ‬ؿ افساز‬
‫نحیح اضؾبَ ٔی قس‪ .‬ایٗ ٘كبٖ ٔی ز‪ٞ‬س و‪ ٝ‬سطسیت اضؾبَ آضٌ‪ٔٛ‬ب٘‪ٟ‬ب ث‪ ٝ‬دبضأشط‪ٞ‬ب ‪ٍٙٞ‬بْ فطاذ‪ٛ‬ا٘ی ٔشس ٔ‪ ٟٓ‬اؾز‪.‬‬

‫ث‪ٔ ٝ‬ثبَ ‪ 1‬س‪ٛ‬خ‪ ٝ‬و‪ٙ‬یس زض آٖ ٔثبَ ز‪ ٚ‬فسز اظ ٘‪ٛ‬ؿ ‪ int‬ث‪ ٝ‬دبضأشط‪ٞ‬ب اضؾبَ وطزیٓ‪ ،‬و‪ ٝ‬سطسیت اضؾبَ آ٘‪ٟ‬ب چ‪ٞ ٖٛ‬طز‪ ٚ‬دبضأشط اظ یه‬
‫٘‪ٛ‬ؿ ث‪ٛ‬ز٘س ٔ‪٘ ٟٓ‬ج‪ٛ‬ز‪ِٚ .‬ی اٌط دبضأشط‪ٞ‬بی ٔشس زاضای ا‪ٞ‬ساف ذبنی ثبق‪ٙ‬س سطسیت اضؾبَ آضٌ‪ٔٛ‬ب٘‪ٟ‬ب ٔ‪ ٟٓ‬اؾز‪.‬‬

‫)‪void ShowPersonStats(int age, int height‬‬


‫{‬
‫;)‪Console.WriteLine("Age = {0}", age‬‬
‫;)‪Console.WriteLine("Height = {0}", height‬‬
‫}‬

‫‪//Using the proper order of arguments‬‬


‫;)‪ShowPersonStats(20, 160‬‬

‫‪132‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫‪//Acceptable, but produces odd results‬‬


‫;)‪ShowPersonStats(160, 20‬‬

‫زض ٔثبَ ثبال ٘كبٖ زاز‪ ٜ‬قس‪ ٜ‬اؾز و‪ ٝ‬حشی اٌط ٔشس ز‪ ٚ‬آضٌ‪ٔٛ‬بٖ ثب یه ٘‪ٛ‬ؿ زاز‪ ٜ‬ای لج‪ َٛ‬و‪ٙ‬س ثبظ ‪ ٓٞ‬ث‪ٟ‬شط اؾز سطسیت ثط اؾبؼ‬
‫سقطیف دبضأشط‪ٞ‬ب ضفبیز ق‪ٛ‬ز‪ .‬ث‪ ٝ‬ف‪ٛٙ‬اٖ ٔثبَ زض ا‪ِٚ‬یٗ فطاذ‪ٛ‬ا٘ی ٔشس ثبال اقىبِی ث‪ ٝ‬چكٓ ٕ٘ی آیس چ‪ ٖٛ‬ؾٗ قرم‪ ٚ 20‬لس ا‪ٚ‬‬
‫‪ 160‬ؾب٘شی ٔشط اؾز‪ .‬اٌط آضٌ‪ٔٛ‬ب٘‪ٟ‬ب ضا ث‪ ٝ‬سطسیت اضؾبَ ٘ى‪ٙ‬یٓ ؾٗ قرم ‪ ٚ 160‬لس ا‪ 20 ٚ‬ؾب٘شی ٔشط ٔی ق‪ٛ‬ز و‪ ٝ‬ث‪ٚ ٝ‬القیز‬
‫٘عزیه ٘یؿز‪.‬‬

‫زا٘ؿشٗ ٔجب٘ی ٔمبزیط ثطٌكشی ‪ ٚ‬اضؾبَ آضٌ‪ٔٛ‬ب٘‪ٟ‬ب ثبفث ٔی ق‪ٛ‬ز و‪ ٝ‬قٕب ٔشس‪ٞ‬بی وبضأس سطی سقطیف و‪ٙ‬یس‪ .‬سى‪ ٝ‬وس ظیط ٘كبٖ ٔی‬
‫ز‪ٞ‬س و‪ ٝ‬قٕب حشی ٔی س‪ٛ‬ا٘یس ٔمساض ثطٌكشی اظ یه ٔشس ضا ث‪ ٝ‬ف‪ٛٙ‬اٖ آضٌ‪ٔٛ‬بٖ ث‪ٔ ٝ‬شس زیٍط اضؾبَ و‪ٙ‬یس‪.‬‬

‫)(‪int MyMethod‬‬
‫{‬
‫;‪return 5‬‬
‫}‬

‫)‪void AnotherMethod(int number‬‬


‫{‬
‫;)‪Console.WriteLine(number‬‬
‫}‬

‫‪// Codes skipped for demonstration‬‬

‫;))(‪AnotherMethod(MyMethod‬‬

‫چ‪ٔ ٖٛ‬مساض ثطٌكشی ٔشس )(‪ MyMethod‬فسز ‪ 5‬اؾز ‪ ٚ‬ث‪ ٝ‬ف‪ٛٙ‬اٖ آضٌ‪ٔٛ‬بٖ ث‪ٔ ٝ‬شس )(‪ AnotherMethod‬اضؾبَ ٔی ق‪ٛ‬ز‬
‫ذط‪ٚ‬خی وس ثبال ‪ ٓٞ‬فسز‪ 5‬اؾز‪.‬‬

‫ًاهیذى آسگَهاى ّا‬

‫یىی زیٍط اظ ضا‪ٞ ٜ‬بی اضؾبَ آضٌ‪ٔٛ‬ب٘‪ٟ‬ب اؾشفبز‪ ٜ‬اظ ٘بْ آ٘‪ٟ‬بؾز‪ .‬اؾشفبز‪ ٜ‬اظ ٘بْ آضٌ‪ٔٛ‬ب٘‪ٟ‬ب قٕب ضا اظ ث‪ ٝ‬یبز آ‪ٚ‬ضی ‪ ٚ‬ضفبیز سطسیت‬
‫دبضأشط‪ٞ‬ب ‪ٍٙٞ‬بْ اضؾبَ آضٌ‪ٔٛ‬بٖ ‪ٞ‬ب ضاحز ٔی و‪ٙ‬س‪ .‬زض ف‪ٛ‬و قٕب ثبیس ٘بْ دبضأشط‪ٞ‬بی ٔشس ضا ث‪ ٝ‬ذبعط ثؿذبضیس (‪ِٚ‬ی اظ آٖ خبییى‪ٝ‬‬
‫‪ٚ‬یػ‪ٚ‬اَ اؾش‪ٛ‬زی‪ Intellisense ٛ‬زاضز ٘یبظی ث‪ ٝ‬ایٗ وبض ٘یؿز‪) .‬‬

‫اؾشفبز‪ ٜ‬اظ ٘بْ آضٌ‪ٔٛ‬ب٘‪ٟ‬ب ذ‪ٛ‬ا٘بیی ثط٘بٔ‪ ٝ‬ضا ثبال ٔی ثطز چ‪ ٖٛ‬قٕب ٔی س‪ٛ‬ا٘یس ثجی‪ٙ‬یس و‪ ٝ‬چ‪ٔ ٝ‬مبزیطی ث‪ ٝ‬چ‪ ٝ‬دبضأشط‪ٞ‬بیی اذشهبل‬
‫زاز‪ ٜ‬قس‪ ٜ‬اؾز‪٘ .‬بٔیسٖ آضٌ‪ٔٛ‬ب٘‪ٟ‬ب زض ؾی قبضح‪ٔ 2010‬غطح قس‪ ٜ‬اؾز ‪ ٚ‬اٌط قٕب اظ ٘ؿر‪ٞ ٝ‬بی لجّی ٔب٘‪ٙ‬س ؾی قبضح‪2008‬‬
‫اؾشفبز‪ٔ ٜ‬ی و‪ٙ‬یس ٕ٘ی س‪ٛ‬ا٘یس اظ ایٗ ذبنیز اؾشفبز‪ ٜ‬و‪ٙ‬یس‪ .‬زض ظیط ٘ح‪ ٜٛ‬اؾشفبز‪ ٜ‬اظ ٘بْ آضٌ‪ٔٛ‬ب٘‪ٟ‬ب ‪ٚ‬لشی و‪ٔ ٝ‬شس فطاذ‪ٛ‬ا٘ی ٔی ق‪ٛ‬ز‬
‫٘كبٖ زاز‪ ٜ‬قس‪ ٜ‬اؾز ‪:‬‬

‫‪133‬‬
www.w3-farsi.com ‫یًَغ اتشاّیوی‬: ِ‫زالیف ٍ زشجو‬ ‫هثاًی صتاى ػی ؿاسج‬

MethodToCall( paramName1: value, paramName2: value, ... paramNameN: value);

: ‫یس‬ٙ‫ و‬ٝ‫خ‬ٛ‫ ٔثبَ ظیط س‬ٝ‫حبَ ث‬

using System;

public class Program


{
static void SetSalaries(decimal jack, decimal andy, decimal mark)
{
Console.WriteLine("Jack's salary is {0:C}.", jack);
Console.WriteLine("Andy's salary is {0:C}.", andy);
Console.WriteLine("Mark's salary is {0:C}.", mark);
}

public static void Main()


{
SetSalaries(jack: 120, andy: 30, mark: 75);

//Print a newline
Console.WriteLine();

SetSalaries(andy: 60, mark: 150, jack: 50);

Console.WriteLine();

SetSalaries(mark: 35, jack: 80, andy: 150);


}
}
Jack's salary is $120.
Andy's salary is $30.
Mark's salary is $75.

Jack's salary is $50.


Andy's salary is $60.
Mark's salary is $150.

Jack's salary is $80.


Andy's salary is $150.
Mark's salary is $35.

‫ فسزی‬ٜ‫ یه زاز‬ٝ‫ اؾز و‬ٜ‫ وطز‬ٜ‫ز اؾشفبز‬ٛ‫ ٔی ق‬ٜ‫{ ٘كبٖ زاز‬0:C}‫ ثب‬ٝ‫َ ضایح و‬ٛ‫ اظ فطٔز د‬7-9 ‫ط‬ٛ‫ زض ذغ‬WriteLine() ‫ٔشس‬
ٓ‫ی‬ٞ‫ ضا سغییط ز‬ٜ‫ا٘ی قس‬ٛ‫ ٔشس فطاذ‬ٝ‫ب زض ؾ‬ٟ٘‫ٔب‬ٌٛ‫ حشی اٌط ٔب سطسیت آض‬ٝ‫س و‬ٞ‫خی ٘كبٖ ٔی ز‬ٚ‫ ذط‬.‫س‬ٙ‫ِی سجسیُ ٔی و‬ٛ‫ؿ د‬ٛ٘ ٝ‫ضا ث‬
‫بی ثبثز‬ٟ٘‫ٔب‬ٌٛ‫ آض‬ٚ ْ‫بی زاضای ٘ب‬ٟ٘‫ٔب‬ٌٛ‫اٖ اظ آض‬ٛ‫یٗ ٔی س‬ٙ‫ٕچ‬ٞ .‫ز‬ٛ‫ ٔی ق‬ٜ‫ قبٖ اذشهبل زاز‬ٝ‫ع‬ٛ‫بی ٔطث‬ٞ‫ دبضأشط‬ٝ‫بؾت ث‬ٙٔ ‫ٔمبزیط‬
.‫بی زاضای ٘بْ لطاض ثٍیط٘س‬ٟ٘‫ٔب‬ٌٛ‫بی ثبثز لجُ اظ آض‬ٟ٘‫ٔب‬ٌٛ‫ آض‬ٝ‫ قطعی و‬ٝ‫ وطز ث‬ٜ‫ٕعٔبٖ اؾشفبز‬ٞ ‫ض‬ٛ‫ ع‬ٝ‫(ٔمساضی) ث‬

//Assign 30 for Jack's salary and use named arguments for


// the assignment of the other two

SetSalary(30, andy: 50, mark: 60);

// or

134
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫;)‪SetSalary(30, mark: 60, andy: 50‬‬

‫‪//The following codes are wrong and will lead to errors‬‬

‫;)‪SetSalary(mark: 60, andy: 50, 30‬‬

‫‪// and‬‬

‫;)‪SetSalary(mark: 60, 30, andy: 50‬‬

‫‪ٕٞ‬ب٘غ‪ٛ‬ض و‪ٔ ٝ‬كب‪ٞ‬س‪ٔ ٜ‬ی و‪ٙ‬یس اثشسا ثبیس آضٌ‪ٔٛ‬ب٘‪ٟ‬بی ثبثز ‪ٍٙٞ‬بْ فطاذ‪ٛ‬ا٘ی ٔشس شوط ق‪٘ٛ‬س‪ .‬زض ا‪ِٚ‬یٗ ‪ ٚ‬ز‪ٔٚ‬یٗ فطاذ‪ٛ‬ا٘ی زض وس ثبال ‪،‬‬
‫ٔمساض ‪ 30‬ضا ث‪ ٝ‬ف‪ٛٙ‬اٖ ا‪ِٚ‬یٗ آضٌ‪ٔٛ‬بٖ ث‪ ٝ‬ا‪ِٚ‬یٗ دبضأشط ٔشس یق‪ٙ‬ی‪ jack‬اذشهبل ٔی ز‪ٞ‬یٓ‪ .‬ؾ‪ٔٛ‬یٗ ‪ ٚ‬چ‪ٟ‬بضٔیٗ ذظ وس ثبال اقشجب‪ٜ‬‬
‫‪ٞ‬ؿش‪ٙ‬س چ‪ ٖٛ‬آضٌ‪ٔٛ‬ب٘‪ٟ‬بی زاضای ٘بْ لجُ اظ آضٌ‪ٔٛ‬ب٘‪ٟ‬بی ثبثز لطاض ٌطفش‪ ٝ‬ا٘س‪ .‬لطاض ٌطفشٗ آضٌ‪ٔٛ‬ب٘‪ٟ‬بی زاضای ٘بْ ثقس اظ آضٌ‪ٔٛ‬ب٘‪ٟ‬ب‬
‫ثبثز اظ ثط‪ٚ‬ظ ذغب خّ‪ٌٛ‬یطی ٔی و‪ٙ‬س‪.‬‬

‫اسػال آسگَهاى ّا تِ سٍؽ اسجاع‬

‫آضٌ‪ٔٛ‬ب٘‪ٟ‬ب ضا ٔی س‪ٛ‬اٖ ث‪ ٝ‬وٕه اضخبؿ اضؾبَ وطز‪ .‬ایٗ ثساٖ ٔق‪ٙ‬بؾز و‪ ٝ‬قٕب آزضؼ ٔشغیطی ضا اضؾبَ ٔی و‪ٙ‬یس ٘‪ٔ ٝ‬مساض آٖ ضا‪.‬‬
‫اضؾبَ ثب اضخبؿ ظٔب٘ی ٔفیس اؾز و‪ ٝ‬قٕب ثر‪ٛ‬ا‪ٞ‬یس یه آضٌ‪ٔٛ‬بٖ و‪ ٝ‬زاضای ٔمساض ثعضٌی اؾز (ٔب٘‪ٙ‬س یه آثدىز) ضا اضؾبَ و‪ٙ‬یس‪.‬‬
‫زض ایٗ حبِز ‪ٚ‬لشی و‪ ٝ‬آضٌ‪ٔٛ‬بٖ اضؾبَ قس‪ ٜ‬ضا زض زاذُ ٔشس انالح ٔی و‪ٙ‬یٓ ٔمساض انّی آضٌ‪ٔٛ‬بٖ زض ذبضج اظ ٔشس ‪ ٓٞ‬سغییط ٔی‬
‫و‪ٙ‬س‪ .‬زض ظیط زؾش‪ٛ‬ضاِقُٕ دبی‪ ٝ‬ای سقطیف دبضأشط ‪ٞ‬ب و‪ ٝ‬زض آ٘‪ٟ‬ب ث‪ ٝ‬خبی ٔمساض اظ آزضؼ اؾشفبز‪ ٜ‬قس‪ ٜ‬اؾز ٘كبٖ زاز‪ ٜ‬قس‪: ٜ‬‬

‫)‪returnType MethodName(ref datatype param1‬‬


‫{‬
‫;‪code to execute‬‬
‫}‬

‫فطأ‪ٛ‬ـ ٘ك‪ٛ‬ز و‪ ٝ‬ثبیس اظ وّٕ‪ ٝ‬وّیسی‪ ref‬اؾشفبز‪ ٜ‬و‪ٙ‬یس‪ٚ .‬لشی یه ٔشس فطاذ‪ٛ‬ا٘ی ٔی ق‪ٛ‬ز ‪ ٚ‬آضٌ‪ٔٛ‬ب٘‪ٟ‬ب ث‪ ٝ‬آ٘‪ٟ‬ب اضؾبَ ٔی ق‪ٛ‬ز ‪ٓٞ‬‬
‫ثبیس اظ وّٕ‪ ٝ‬وّیسی ‪ ref‬اؾشفبز‪ ٜ‬ق‪ٛ‬ز‪.‬‬

‫;)‪MethodName(ref argument‬‬

‫اخبظ‪ ٜ‬ز‪ٞ‬یس و‪ ٝ‬سفب‪ٚ‬ر ثیٗ اضؾبَ ثب اضخبؿ ‪ ٚ‬اضؾبَ ثب ٔمساض آضٌ‪ٔٛ‬بٖ ضا ثب یه ٔثبَ س‪ٛ‬ضیح ز‪ٞ‬یٓ‪.‬‬

‫‪1‬‬ ‫;‪using System‬‬


‫‪2‬‬
‫‪3‬‬ ‫‪public class Program‬‬
‫‪4‬‬ ‫{‬
‫‪5‬‬ ‫)‪static void ModifyNumberVal(int number‬‬
‫‪6‬‬ ‫{‬
‫‪7‬‬ ‫;‪number += 10‬‬
‫‪8‬‬ ‫;)‪Console.WriteLine("Value of number inside method is {0}.", number‬‬
‫‪9‬‬ ‫}‬

‫‪135‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫‪10‬‬
‫‪11‬‬ ‫)‪static void ModifyNumberRef(ref int number‬‬
‫‪12‬‬ ‫{‬
‫‪13‬‬ ‫;‪number += 10‬‬
‫‪14‬‬ ‫;)‪Console.WriteLine("Value of number inside method is {0}.", number‬‬
‫‪15‬‬ ‫}‬
‫‪16‬‬
‫‪17‬‬ ‫)(‪public static void Main‬‬
‫‪18‬‬ ‫{‬
‫‪19‬‬ ‫;‪int num = 5‬‬
‫‪20‬‬
‫‪21‬‬ ‫;)‪Console.WriteLine("num = {0}\n", num‬‬
‫‪22‬‬
‫‪23‬‬ ‫;)"‪Console.WriteLine("Passing num by value to method ModifyNumberVal() ...‬‬
‫‪24‬‬ ‫;)‪ModifyNumberVal(num‬‬
‫‪25‬‬ ‫;)‪Console.WriteLine("Value of num after exiting the method is {0}.\n", num‬‬
‫‪26‬‬
‫‪27‬‬ ‫;)"‪Console.WriteLine("Passing num by ref to method ModifyNumberRef() ...‬‬
‫‪28‬‬ ‫;)‪ModifyNumberRef(ref num‬‬
‫‪29‬‬ ‫;)‪Console.WriteLine("Value of num after exiting the method is {0}.\n", num‬‬
‫‪30‬‬ ‫}‬
‫‪31‬‬ ‫}‬
‫‪num = 5‬‬

‫‪Passing num by value to method ModifyNumberVal() ...‬‬


‫‪Value of number inside method is 15.‬‬
‫‪Value of num after exiting the method is 5.‬‬

‫‪Passing num by ref to method ModifyNumberRef() ...‬‬


‫‪Value of number inside method is 15.‬‬
‫‪Value of num after exiting the method is 15.‬‬

‫زض ثط٘بٔ‪ ٝ‬ثبال ز‪ٔ ٚ‬شس و‪ ٝ‬زاضای یه ‪ٞ‬سف یىؿبٖ ‪ٞ‬ؿش‪ٙ‬س سقطیف قس‪ ٜ‬ا٘س ‪ ٚ‬آٖ اضبف‪ ٝ‬وطزٖ فسز‪ 10‬ث‪ٔ ٝ‬مساضی اؾز و‪ ٝ‬ث‪ ٝ‬آ٘‪ٟ‬ب‬
‫اضؾبَ ٔی ق‪ٛ‬ز‪ .‬ا‪ِٚ‬یٗ ٔشس (ذغ‪ٛ‬ط‪ )5-9‬زاضای یه دبضأشط اؾز و‪٘ ٝ‬یبظ ث‪ ٝ‬یه ٔمساض آضٌ‪ٔٛ‬بٖ (اظ ٘‪ٛ‬ؿ‪ )int‬زاضز‪.‬‬

‫‪ٚ‬لشی و‪ٔ ٝ‬شس ضا نسا ٔی ظ٘یٓ ‪ ٚ‬آضٌ‪ٔٛ‬ب٘ی ث‪ ٝ‬آٖ اذشهبل ٔی ز‪ٞ‬یٓ (ذظ ‪، )24‬وذی آضٌ‪ٔٛ‬بٖ ث‪ ٝ‬دبضأشط ٔشس اضؾبَ ٔی ق‪ٛ‬ز‪.‬‬
‫ث‪ٙ‬بثطایٗ ٔمساض انّی ٔشغیط ذبضج اظ ٔشس ‪ٞ‬یچ اضسجبعی ث‪ ٝ‬دبضأشط ٔشس ٘ساضز‪.‬ؾذؽ ٔمساض‪ 10‬ضا ث‪ٔ ٝ‬شغیط دبضأشط(‪ )number‬اضبف‪ٝ‬‬
‫وطز‪٘ ٚ ٜ‬شید‪ ٝ‬ضا چبح ٔی و‪ٙ‬یٓ‪.‬‬

‫ثطای اثجبر ای‪ٙ‬ى‪ٔ ٝ‬شغیط ‪ٞ num‬یچ سغییطی ٘ىطز‪ ٜ‬اؾز ٔمساض آٖ ضا یىجبض زیٍط چبح وطز‪ٔ ٚ ٜ‬كب‪ٞ‬س‪ٔ ٜ‬ی و‪ٙ‬یٓ و‪ ٝ‬سغییط ی‬
‫٘ىطز‪ ٜ‬اؾز‪ .‬ز‪ٔٚ‬یٗ ٔشس (ذغ‪ٛ‬ط‪٘ )11-15‬یبظ ث‪ ٝ‬یه ٔمساض ثب اضخبؿ زاضز‪ .‬زض ایٗ حبِز ث‪ ٝ‬خبی ای‪ٙ‬ى‪ ٝ‬یه وذی اظ ٔمساض ث‪ ٝ‬ف‪ٛٙ‬اٖ‬
‫آضٌ‪ٔٛ‬بٖ ث‪ ٝ‬اٖ اضؾبَ ق‪ٛ‬ز آزضؼ ٔشغیط ث‪ ٝ‬آٖ اضؾبَ ٔی ق‪ٛ‬ز‪ .‬حبَ دبضأشط ث‪ٔ ٝ‬مساض انّی ٔشغیط و‪ ٝ‬ظٔبٖ فطاذ‪ٛ‬ا٘ی ٔشس ث‪ ٝ‬آٖ‬
‫‪)13‬‬
‫اضؾبَ ٔی ق‪ٛ‬ز زؾشطؾی زاضز‪ٚ .‬لشی و‪ٔ ٝ‬ب ٔمساض ٔشغیط دبضأشطی و‪ ٝ‬قبُٔ آزضؼ ٔشغیط انّی اؾز ضا سغییط ٔی ز‪ٞ‬یٓ (ذظ‬
‫زض ‪ٚ‬الـ ٔمساض ٔشغیط انّی زض ذبضج اظ ٔشس ضا سغییط زاز‪ ٜ‬ایٓ‪ .‬زض ٘‪ٟ‬بیز ٔمساض انّی ٔشغیط ضا ‪ٚ‬لشی و‪ ٝ‬اظ ٔشس ذبضج قسیٓ ضا‬
‫ٕ٘بیف ٔی ز‪ٞ‬یٓ ‪ٔ ٚ‬كب‪ٞ‬س‪ٔ ٜ‬ی ق‪ٛ‬ز و‪ٔ ٝ‬مساض آٖ ‪ٚ‬القب سغییط وطز‪ ٜ‬اؾز‪.‬‬

‫‪136‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫خاساهسشّای ‪out‬‬

‫دبضأشط‪ٞ‬بی ‪ out‬دبضأشط‪ٞ‬بیی ‪ٞ‬ؿش‪ٙ‬س و‪ٔ ٝ‬شغیط‪ٞ‬بیی ضا و‪ٔ ٝ‬مساض ز‪ٞ‬ی ا‪ِٚ‬ی‪٘ ٝ‬كس‪ ٜ‬ا٘س ضا لج‪ٔ َٛ‬ی و‪ٙٙ‬س‪ .‬وّٕ‪ ٝ‬وّیسی ‪ out‬ظٔب٘ی‬
‫ٔ‪ٛ‬ضز اؾشفبز‪ ٜ‬لطاض ٔی ٌیطز و‪ ٝ‬ثر‪ٛ‬ا‪ٞ‬یٓ یه ٔشغیط ثس‪ٔ ٖٚ‬مساض ضا ث‪ٔ ٝ‬شس اضؾبَ و‪ٙ‬یٓ‪ٔ .‬شغیط ثس‪ٔ ٖٚ‬مساض ا‪ِٚ‬ی‪ٔ ، ٝ‬شغیطی اؾز و‪ٝ‬‬
‫ٔمساضی ث‪ ٝ‬آٖ اذشهبل زاز‪٘ ٜ‬كس‪ ٜ‬اؾز‪ .‬زض ایٗ حبِز ٔشس یه ٔمساض ث‪ٔ ٝ‬شغیط ٔی ز‪ٞ‬س‪ .‬اضؾبَ ٔشغیط ٔمساضز‪ٞ‬ی ٘كس‪ ٜ‬ث‪ٔ ٝ‬شس‬
‫ظٔب٘ی ٔفیس اؾز و‪ ٝ‬قٕب ثر‪ٛ‬ا‪ٞ‬یس اظ عطیك ٔشس ٔشغیط ضا ٔمساض ز‪ٞ‬ی و‪ٙ‬یس‪ .‬اؾشفبز‪ ٜ‬اظ وّٕ‪ ٝ‬وّیسی‪ out‬ثبفث اضؾبَ آضٌ‪ٔٛ‬بٖ ث‪ٝ‬‬
‫‪.‬‬
‫ٔمساض ث‪ٔ ٝ‬ثبَ ظیط س‪ٛ‬خ‪ ٝ‬و‪ٙ‬یس ‪:‬‬ ‫ض‪ٚ‬ـ اضخبؿ ٔی ق‪ٛ‬ز ٘‪ٝ‬‬

‫;‪using System‬‬

‫‪public class Program‬‬


‫{‬
‫)‪static void GiveValue(out int number‬‬
‫{‬
‫;‪number = 10‬‬
‫}‬

‫)(‪public static void Main‬‬


‫{‬
‫‪//Uninitialized variable‬‬
‫;‪int myNumber‬‬

‫;)‪GiveValue(out myNumber‬‬

‫;)‪Console.WriteLine("myNumber = {0}", myNumber‬‬


‫}‬
‫}‬
‫‪myNumber = 10‬‬

‫اظ وّٕ‪ ٝ‬وّیسی ‪ out‬ثطای دبضأشط‪ٞ‬بی ٔشس اؾشفبز‪ ٜ‬قس‪ ٜ‬اؾز ث‪ٙ‬بثطایٗ ٔی س‪ٛ‬ا٘‪ٙ‬س ٔشغیط‪ٞ‬بی ٔمساضز‪ٞ‬ی ٘كس‪ ٜ‬ضا لج‪ َٛ‬و‪ٙٙ‬س‪ .‬زض‬
‫ٔشس ‪، Main‬ذظ ‪ٔ 15‬شس ضا فطاذ‪ٛ‬ا٘ی ٔی و‪ٙ‬یٓ ‪ ٚ‬لجُ اظ آضٌ‪ٔٛ‬بٖ وّٕ‪ ٝ‬وّیسی ‪ out‬ضا لطاض ٔی ز‪ٞ‬یٓ‪ٔ .‬شغیط ٔمساضز‪ٞ‬ی ٘كس‪ٜ‬‬
‫(‪ )myNumber‬ث‪ٔ ٝ‬شس اضؾبَ ٔی ق‪ٛ‬ز ‪ ٚ‬زض آ٘دب ٔمساض ‪ 10‬ث‪ ٝ‬آٖ اذشهبل زاز‪ٔ ٜ‬ی ق‪ٛ‬ز (ذظ ‪ٔ .)7‬مساض ‪ myNumber‬زض ذظ‬
‫‪ٕ٘ 17‬بیف زاز‪ٔ ٜ‬ی ق‪ٛ‬ز ‪ٔ ٚ‬كب‪ٞ‬س‪ٔ ٜ‬ی و‪ٙ‬یس و‪ٔ ٝ‬مساضـ ثطاثط ٔمساضی اؾز و‪ ٝ‬زض زاذُ ٔشس ث‪ ٝ‬آٖ اذشهبل زاز‪ ٜ‬قس‪ ٜ‬اؾز‬
‫(یق‪ٙ‬ی ‪ .)10‬اؾشفبز‪ ٜ‬اظ دبضأشط‪ٞ‬بی ‪ out‬ثسیٗ ٔق‪ٙ‬ب ٘یؿز و‪ ٝ‬قٕب ‪ٕٞ‬یك‪٘ ٝ‬یبظ زاضیس و‪ ٝ‬آضٌ‪ٔٛ‬ب٘‪ٟ‬بی ٔمساضز‪ٞ‬ی ٘كس‪ ٜ‬ضا ث‪ٔ ٝ‬شس‬
‫اضؾبَ و‪ٙ‬یس ثّى‪ ٝ‬آضٌ‪ٔٛ‬ب٘‪ٟ‬بیی و‪ ٝ‬قبُٔ ٔمساض ‪ٞ‬ؿش‪ٙ‬س ضا ‪ٔ ٓٞ‬ی س‪ٛ‬اٖ ث‪ٔ ٝ‬شس اضؾبَ وطز‪ .‬ایٗ وبض زضحىٓ اؾشفبز‪ ٜ‬اظ وّٕ‪ ٝ‬وّیسی‬
‫‪ ref‬اؾز‪.‬‬

‫اسػال آسایِ تِ ػٌَاى آسگَهاى‬

‫ٔی س‪ٛ‬اٖ آضای‪ٞ ٝ‬ب ضا ث‪ ٝ‬ف‪ٛٙ‬اٖ آضٌ‪ٔٛ‬بٖ ث‪ٔ ٝ‬شس اضؾبَ وطز‪ .‬اثشسا قٕب ثبیس دبضأشط‪ٞ‬بی ٔشس ضا ع‪ٛ‬ضی سقطیف و‪ٙ‬یس و‪ ٝ‬آضای‪ ٝ‬زضیبفز‬
‫و‪ٙٙ‬س‪ .‬ث‪ٔ ٝ‬ثبَ ظیط س‪ٛ‬خ‪ ٝ‬و‪ٙ‬یس‪.‬‬

‫‪137‬‬
www.w3-farsi.com ‫یًَغ اتشاّیوی‬: ِ‫زالیف ٍ زشجو‬ ‫هثاًی صتاى ػی ؿاسج‬

1 using System;
2
3 namespace ArraysAsArgumentsDemo1
4 {
5 public class Program
6 {
7 static void TestArray(int[] numbers)
8 {
9 foreach (int number in numbers)
10 {
11 Console.WriteLine(number);
12 }
13 }
14
15 public static void Main()
16 {
17 int[] array = { 1, 2, 3, 4, 5 };
18
19 TestArray(array);
20 }
21 }
22 }
1
2
3
4
5

ٝ‫ آضای‬، ٖ‫ دبضأشط آ‬ٝ‫ ای دبضأشط یه ٔشس ایدبز وطز و‬ٜ‫ؿ زاز‬ٛ٘ ‫ ثقس اظ‬ٝ‫ق‬ٚ‫اٖ ثب ٌصاقشٗ وط‬ٛ‫ ؾبزٌی ٔی س‬ٝ‫ ث‬ٝ‫ وطزیس و‬ٜ‫س‬ٞ‫ٔكب‬
‫ اظ ا٘سیؽ اضؾبَ ٔی‬ٜ‫ٖ اؾشفبز‬ٚ‫ ثس‬ٚ ٖ‫ اظ ٘بْ آ‬ٜ‫ ضا فمظ ثب اؾشفبز‬ٝ‫ آضای‬،‫ز‬ٛ‫ا٘ی ٔی ق‬ٛ‫ فطاذ‬17‫لشی ٔشس زض ذظ‬ٚ .‫س‬ٙ‫زضیبفز ٔی و‬
‫ اخعای‬ٝ‫ ثطای زؾشطؾی ث‬foreach ٝ‫ اظ حّم‬7-10 ‫ط‬ٛ‫ زض ذغ‬.‫٘س‬ٛ‫ب اضؾبَ ٔی ق‬ٞ‫ ٔشس‬ٝ‫ـ اضخبؿ ث‬ٚ‫ ض‬ٝ‫ٓ ث‬ٞ ‫ب‬ٞ ٝ‫ دؽ آضای‬.ٓ‫ی‬ٙ‫و‬
ٖ‫ـ اضخبؿ ٘كب‬ٚ‫ ض‬ٝ‫ ث‬ٝ‫ اضؾبَ یه آضای‬ٜٛ‫ زض ظیط ٘ح‬.ٓ‫ی‬ٙ‫ ٔی و‬ٜ‫ ایٓ اؾشفبز‬ٜ‫ ٔشس اضؾبَ وطز‬ٝ‫ٔبٖ ث‬ٌٛ‫اٖ آض‬ٛ‫ ف‬ٝ‫ ث‬ٝ‫ و‬ٝ‫انّی آضای‬
.‫ اؾز‬ٜ‫ قس‬ٜ‫زاز‬

1 using System;
2
3 namespace ArraysAsArgumentsDemo2
4 {
5 public class Program
6 {
7 static void IncrementElements(int[] numbers)
8 {
9 for (int i = 0; i < numbers.Length; i++)
10 {
11 numbers[i]++;
12 }
13 }
14
15 public static void Main()
16 {
17 int[] array = { 1, 2, 3, 4, 5 };
18
19 IncrementElements(array);

138
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫‪20‬‬
‫‪21‬‬ ‫)‪foreach (int num in array‬‬
‫‪22‬‬ ‫{‬
‫‪23‬‬ ‫;)‪Console.WriteLine(num‬‬
‫‪24‬‬ ‫}‬
‫‪25‬‬ ‫}‬
‫‪26‬‬ ‫}‬
‫‪27‬‬ ‫}‬
‫‪2‬‬
‫‪3‬‬
‫‪4‬‬
‫‪5‬‬
‫‪6‬‬

‫ثط٘بٔ‪ ٝ‬ثبال یه ٔشس ضا ٘كبٖ ٔی ز‪ٞ‬س و‪ ٝ‬یه آضای‪ ٝ‬ضا زضیبفز ٔی و‪ٙ‬س ‪ ٚ‬ث‪ٞ ٝ‬ط یه اظ ف‪ٙ‬بنط آٖ یه ‪ٚ‬احس اضبف‪ٔ ٝ‬ی و‪ٙ‬س‪ .‬ث‪ ٝ‬ایٗ‬
‫٘ىش‪ ٝ‬س‪ٛ‬خ‪ ٝ‬و‪ٙ‬یس و‪ ٝ‬اظ حّم‪ٕ٘ foreach ٝ‬ی س‪ٛ‬اٖ ثطای افعایف ٔمبزیط آضای‪ ٝ‬اؾشفبز‪ ٜ‬و‪ٙ‬یٓ چ‪ ٖٛ‬ایٗ حّم‪ ٝ‬ثطای ذ‪ٛ‬ا٘سٖ ٔمبزیط‬
‫آضای‪ٙٔ ٝ‬بؾت اؾز ٘‪ ٝ‬انالح آ٘‪ٟ‬ب‪ .‬زض زاذُ ٔشس ٔب ٔمبزیط ‪ٞ‬ط یه اظ اخعای آضای‪ ٝ‬ضا افعایف زاز‪ ٜ‬ایٓ‪ ..‬ؾذؽ اظ ٔشس ذبضج قس‪ٚ ٜ‬‬
‫٘شید‪ ٝ‬ضا ٘كبٖ ٔی ز‪ٞ‬یٓ‪ٔ .‬كب‪ٞ‬س‪ٔ ٜ‬ی و‪ٙ‬یس و‪ٞ ٝ‬ط یه اظ ٔمبزیط انّی ٔشس ‪ ٓٞ‬انالح قس‪ ٜ‬ا٘س‪ .‬ضا‪ ٜ‬زیٍط ثطای اضؾبَ آضای‪ ٝ‬ث‪ٔ ٝ‬شس‬
‫‪ٔ ،‬مساض ز‪ٞ‬ی ٔؿشمیٓ ث‪ٔ ٝ‬شس فطاذ‪ٛ‬ا٘ی قس‪ ٜ‬اؾز‪ .‬ث‪ ٝ‬ف‪ٛٙ‬اٖ ٔثبَ ‪:‬‬

‫;)} ‪IncrementElements(new int[] { 1, 2, 3, 4, 5‬‬

‫زض ایٗ ض‪ٚ‬ـ ٔب آضای‪ ٝ‬ای سقطیف ٕ٘ی و‪ٙ‬یٓ ثّى‪ٔ ٝ‬دٕ‪ٛ‬ف‪ ٝ‬ای اظ ٔمبزیط ضا ث‪ ٝ‬دبضأشط اضؾبَ ٔی و‪ٙ‬یٓ و‪ ٝ‬آ٘‪ٟ‬ب ضا ٔب٘‪ٙ‬س آضای‪ ٝ‬لج‪َٛ‬‬
‫و‪ٙ‬س‪ .‬اظ آ٘دبییى‪ ٝ‬زض ایٗ ض‪ٚ‬ـ آضای‪ ٝ‬ای سقطیف ٘ىطز‪ ٜ‬ایٓ ٕ٘ی س‪ٛ‬ا٘یٓ زض ٔشس‪٘ Main‬شید‪ ٝ‬ضا چبح و‪ٙ‬یٓ‪ .‬اٌط اظ چ‪ٙ‬سیٗ دبضأشط زض‬
‫ٔشس اؾشفبز‪ٔ ٜ‬ی و‪ٙ‬یس ‪ٕٞ‬یك‪ ٝ‬ثطای ‪ٞ‬ط یه اظ دبضأشط‪ٞ‬بیی و‪ ٝ‬آضای‪ ٝ‬لج‪ٔ َٛ‬ی و‪ٙٙ‬س اظ یه خفز وط‪ٚ‬ق‪ ٝ‬اؾشفبز‪ ٜ‬و‪ٙ‬یس‪ .‬ث‪ ٝ‬ف‪ٛٙ‬اٖ‬
‫ٔثبَ ‪:‬‬

‫)‪void MyMethod(int[] param1, int param2‬‬


‫{‬
‫‪//code here‬‬
‫}‬

‫ث‪ ٝ‬دبضأشط‪ٞ‬بی ٔشس ثبال س‪ٛ‬خ‪ ٝ‬و‪ٙ‬یس ‪ ،‬دبضأشط ا‪ )param1( َٚ‬آضٌ‪ٔٛ‬ب٘ی اظ خ‪ٙ‬ؽ آضای‪ ٝ‬لج‪ٔ َٛ‬ی و‪ٙ‬س ‪ِٚ‬ی دبضأشط ز‪)param2( ْٚ‬‬
‫یه فسز نحیح‪ .‬حبَ اٌط دبضأشط ز‪ ٓٞ )param2(ْٚ‬آضای‪ ٝ‬لج‪ٔ َٛ‬ی وطز ثبیس ثطای آٖ ‪ ٓٞ‬اظ وط‪ٚ‬ق‪ ٝ‬اؾشفبز‪ٔ ٜ‬ی وطزیٓ‪:‬‬

‫)‪void MyMethod(int[] param1, int[] param2‬‬


‫{‬
‫‪//code here‬‬
‫}‬

‫‪139‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫ولوِ ولیذی‪params‬‬

‫وّٕ‪ ٝ‬وّیسی‪ params‬أىبٖ اضؾبَ سقساز زِر‪ٛ‬ا‪ ٜ‬دبضأشط‪ٞ‬بی ‪ٕٛٙٞ‬ؿ ‪ ٚ‬شذیط‪ ٜ‬آ٘‪ٟ‬ب زض یه آضای‪ ٝ‬ؾبز‪ ٜ‬ضا فطا‪ٔ ٓٞ‬ی آ‪ٚ‬ضز‪.‬وس ظیط‬
‫عطیم‪ ٝ‬اؾشفبز‪ ٜ‬اظ وّٕ‪ ٝ‬وّیسی‪ params‬ضا ٘كبٖ ٔی ز‪ٞ‬س ‪:‬‬

‫;‪using System‬‬

‫‪public class Program‬‬


‫{‬
‫)‪static int CalculateSum(params int[] numbers‬‬
‫{‬
‫;‪int total = 0‬‬

‫)‪foreach (int number in numbers‬‬


‫{‬
‫;‪total += number‬‬
‫}‬

‫;‪return total‬‬
‫}‬

‫)(‪public static void Main‬‬


‫{‬
‫;))‪Console.WriteLine("1 + 2 + 3 = {0}", CalculateSum(1, 2, 3‬‬

‫;))‪Console.WriteLine("1 + 2 + 3 + 4 = {0}", CalculateSum(1, 2, 3, 4‬‬

‫;))‪Console.WriteLine("1 + 2 + 3 + 4 + 5 = {0}", CalculateSum(1, 2, 3, 4, 5‬‬

‫}‬
‫}‬
‫‪1 + 2 + 3 = 6‬‬
‫‪1 + 2 + 3 + 4 = 10‬‬
‫‪1 + 2 + 3 + 4 + 5 = 15‬‬

‫اظ وّٕ‪ ٝ‬وّیسی ‪ params‬لجُ اظ ٘‪ٛ‬ؿ زاز‪ ٜ‬ای آضای‪ ٝ‬دبضأشط اؾشفبز‪ٔ ٜ‬ی ق‪ٛ‬ز (ٔثبَ ثبال)‪ .‬حبَ ٔشس ضا ؾ‪ ٝ‬ثبض ثب سقساز ٔرشّف‬
‫‪ foreach‬ایٗ‬
‫آضٌ‪ٔٛ‬ب٘‪ٟ‬ب فطاذ‪ٛ‬ا٘ی ٔی و‪ٙ‬یٓ‪ .‬ایٗ آضٌ‪ٔٛ‬ب٘‪ٟ‬ب زض زاذُ یه دبضأشط اظ ٘‪ٛ‬ؿ آضای‪ ٝ‬شذیط‪ٔ ٜ‬ی ق‪٘ٛ‬س‪ .‬ثب اؾشفبز‪ ٜ‬اظ حّم‪ٝ‬‬
‫آضٌ‪ٔٛ‬ب٘‪ٟ‬ب ضا خٕـ ‪ ٚ‬ث‪ٔ ٝ‬شس فطاذ‪ٛ‬اٖ ثطٌكز ٔی ز‪ٞ‬یٓ‪.‬‬

‫‪ params‬ث‪ٛ‬ز‪ٕٞ ٚ ٜ‬چ‪ٙ‬یٗ اظ ِحبػ‬


‫‪ٚ‬لشی اظ چ‪ٙ‬سیٗ دبضأشط زض یه ٔشس اؾشفبز‪ٔ ٜ‬ی و‪ٙ‬یس فمظ یىی اظ آ٘‪ٟ‬ب ثبیس زاضای وّٕ‪ ٝ‬وّیسی‬
‫ٔىب٘ی ثبیس آذطیٗ دبضأشط ثبقس‪ .‬اٌط ایٗ دبضأشط(دبضأشطی و‪ ٝ‬زاضای وّٕ‪ ٝ‬وّیسی ‪ params‬اؾز) زض آذط دبضأشط‪ٞ‬بی زیٍط لطاض‬
‫ٍ٘یطز ‪ ٚ‬یب اظ چ‪ٙ‬سیٗ دبضأشط‪ params‬زاض اؾشفبز‪ ٜ‬و‪ٙ‬یس ثب ذغب ٔ‪ٛ‬اخ‪ٔ ٝ‬ی ق‪ٛ‬یس‪ .‬ث‪ٔ ٝ‬ثبِ‪ٟ‬بی اقشجب‪ ٚ ٜ‬زضؾز ظیط س‪ٛ‬خ‪ ٝ‬و‪ٙ‬یس ‪:‬‬

‫‪void SomeFunction(params int[] x, params int[] y) //ERROR‬‬

‫‪void SomeFunction(params int[] x, int y, int z) //ERROR‬‬

‫‪void SomeFunction(int x, int y, params int[] z) //Correct‬‬

‫‪140‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫هحذٍد هسغیش‬

‫ٔشس‪ٞ‬ب زض ؾی قبضح زاضای ٔحس‪ٚ‬ز‪ٞ ٜ‬ؿش‪ٙ‬س‪ٔ .‬حس‪ٚ‬ز‪ ٜ‬یه ٔشغیط ث‪ ٝ‬قٕب ٔی ٌ‪ٛ‬یس و‪ ٝ‬زض ودبی ثط٘بٔ‪ٔ ٝ‬ی س‪ٛ‬اٖ اظ ٔشغیط اؾشفبز‪ٜ‬‬
‫وطز ‪ ٚ‬یب ٔشغیط لبثُ زؾشطؾی اؾز‪ .‬ث‪ ٝ‬ف‪ٛٙ‬اٖ ٔثبَ ٔشغیطی و‪ ٝ‬زض زاذُ یه ٔشس سقطیف ٔی ق‪ٛ‬ز فمظ زض زاذُ ثس٘‪ٔ ٝ‬شس لبثُ‬
‫زؾشطؾی اؾز‪ٔ .‬ی س‪ٛ‬اٖ ز‪ٔ ٚ‬شغیط ثب ٘بْ یىؿبٖ زض ز‪ٔ ٚ‬شس ٔرشّف سقطیف وطز‪ .‬ثط٘بٔ‪ ٝ‬ظیط ایٗ ازفب ضا اثجبر ٔی و‪ٙ‬س ‪:‬‬

‫;‪using System‬‬

‫‪public class Program‬‬


‫{‬
‫)(‪static void DemonstrateScope‬‬
‫{‬
‫;‪int number = 5‬‬

‫;)‪Console.WriteLine("number inside method DemonstrateScope() = {0}", number‬‬


‫}‬

‫)(‪public static void Main‬‬


‫{‬
‫;‪int number = 10‬‬

‫;)(‪DemonstrateScope‬‬

‫;)‪Console.WriteLine("number inside the Main method = {0}", number‬‬


‫}‬
‫}‬
‫‪number inside method DemonstrateScope() = 5‬‬
‫‪number inside the Main method = 10‬‬

‫ٔكب‪ٞ‬س‪ٔ ٜ‬ی و‪ٙ‬یس و‪ ٝ‬حشی اٌط ٔب ز‪ٔ ٚ‬شغیط ثب ٘بْ یىؿبٖ سقطیف و‪ٙ‬یٓ و‪ ٝ‬زاضای ٔحس‪ٚ‬ز‪ٞ ٜ‬بی ٔشفب‪ٚ‬سی ‪ٞ‬ؿش‪ٙ‬س‪ٔ ،‬ی س‪ٛ‬اٖ ث‪ٞ ٝ‬ط‬
‫‪ٞ Main‬یچ اضسجبعی ث‪ٔ ٝ‬شغیط زاذُ ٔشس‬ ‫وساْ اظ آ٘‪ٟ‬ب ٔمبزیط ٔرشّفی اذشهبل زاز‪ٔ .‬شغیط سقطیف قس‪ ٜ‬زض زاذُ ٔشس‬
‫)(‪٘ DemonstrateScope‬ساضز‪ٚ .‬لشی ث‪ٔ ٝ‬جحث والؾ‪ٟ‬ب ضؾیسیٓ زض ایٗ ثبض‪ ٜ‬ثیكشط س‪ٛ‬ضیح ذ‪ٛ‬ا‪ٞ‬یٓ زاز‪.‬‬

‫خاساهسشّای اخسیاسی‬

‫دبضأشط‪ٞ‬بی اذشیبضی ‪ٕٞ‬بٍ٘‪ ٝ٘ٛ‬و‪ ٝ‬اظ اؾٕكبٖ دیساؾز اذشیبضی ‪ٞ‬ؿش‪ٙ‬س ‪ٔ ٚ‬ی س‪ٛ‬اٖ ث‪ ٝ‬آ٘‪ٟ‬ب آضٌ‪ٔٛ‬بٖ اضؾبَ وطز یب ٘‪ .ٝ‬ایٗ دبضأشط‪ٞ‬ب‬
‫زاضای ٔمبزیط دیكفطضی ‪ٞ‬ؿش‪ٙ‬س‪ .‬اٌط ث‪ ٝ‬ای‪ ٍٝ٘ٛٙ‬دبضأشط‪ٞ‬ب آضٌ‪ٔٛ‬ب٘ی اضؾبَ ٘ك‪ٛ‬ز اظ ٔمبزیط دیكفطو اؾشفبز‪ٔ ٜ‬ی و‪ٙٙ‬س‪ .‬ث‪ٔ ٝ‬ثبَ‬
‫ظیط س‪ٛ‬خ‪ ٝ‬و‪ٙ‬یس ‪:‬‬

‫‪1‬‬ ‫;‪using System‬‬


‫‪2‬‬
‫‪3‬‬ ‫‪public class Program‬‬

‫‪141‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫‪4‬‬ ‫{‬
‫‪5‬‬ ‫)"!‪static void PrintMessage(string message = "Welcome to Visual C# Tutorials‬‬
‫‪6‬‬ ‫{‬
‫‪7‬‬ ‫;)‪Console.WriteLine(message‬‬
‫‪8‬‬ ‫}‬
‫‪9‬‬
‫‪10‬‬ ‫)(‪public static void Main‬‬
‫‪11‬‬ ‫{‬
‫‪12‬‬ ‫;)(‪PrintMessage‬‬
‫‪13‬‬
‫‪14‬‬ ‫;)"!‪PrintMessage("Learn C# Today‬‬
‫‪15‬‬ ‫}‬
‫‪16‬‬ ‫}‬
‫!‪Welcome to Visual C# Tutorials‬‬
‫!‪Learn C# Today‬‬

‫ٔشس )(‪( PrintMessage‬ذغ‪ٛ‬ط ‪)5-8‬یه دبضأشط اذشیبضی زاضز‪ .‬ثطای سقطیف یه دبضأشط اذشیبضی ٔی س‪ٛ‬اٖ ث‪ ٝ‬آؾب٘ی ‪ ٚ‬ثب‬
‫اؾشفبز‪ ٜ‬اظ فالٔز = یه ٔمساض ضا ث‪ ٝ‬یه دبضأشط اذشهبل زاز (ٔثبَ ثبال ذظ ‪ .)5‬ز‪ ٚ‬ثبض ٔشس ضا فطاذ‪ٛ‬ا٘ی ٔی و‪ٙ‬یٓ‪ .‬زض ا‪ِٚ‬یٗ‬
‫‪Welcome to Visual C#‬‬ ‫فطاذ‪ٛ‬ا٘ی (ذظ ‪ٔ ) 12‬ب آضٌ‪ٔٛ‬ب٘ی ث‪ٔ ٝ‬شس اضؾبَ ٕ٘ی و‪ٙ‬یٓ ث‪ٙ‬بثطایٗ ٔشس اظ ٔمساض دیكفطو (‬
‫!‪ )Tutorials‬اؾشفبز‪ٔ ٜ‬ی و‪ٙ‬س‪ .‬زض ز‪ٔٚ‬یٗ فطاذ‪ٛ‬ا٘ی(ذظ ‪ )14‬یه دیغبْ (آضٌ‪ٔٛ‬بٖ) ث‪ٔ ٝ‬شس اضؾبَ ٔی و‪ٙ‬یٓ و‪ ٝ‬خبیٍعیٗ ٔمساض‬
‫دیكفطو دبضأشط ٔی ق‪ٛ‬ز‪ .‬اٌط اظ چ‪ٙ‬سیٗ دبضأشط زض ٔشس اؾشفبز‪ٔ ٜ‬ی و‪ٙ‬یس ‪ ٕٝٞ‬دبضأشط‪ٞ‬بی اذشیبضی ثبیس زض آذط ثمی‪ ٝ‬دبضأشط‪ٞ‬ب‬
‫شوط ق‪٘ٛ‬س‪ .‬ث‪ٔ ٝ‬ثبِ‪ٟ‬بی ظیط س‪ٛ‬خ‪ ٝ‬و‪ٙ‬یس‪.‬‬

‫‪void SomeMethod(int opt1 = 10, int opt2 = 20, int req1, int req2) //ERROR‬‬

‫‪void SomeMethod(int req1, int opt1 = 10, int req2, int opt2 = 20) //ERROR‬‬

‫‪void SomeMethod(int req1, int req2, int opt1 = 10, int opt2 = 20) //Correct‬‬

‫‪ٚ‬لشی ٔشس‪ٞ‬بی ثب چ‪ٙ‬سیٗ دبضأشط اذشیبضی فطاذ‪ٛ‬ا٘ی ٔی ق‪٘ٛ‬س ثبیس ث‪ ٝ‬دبضأشط‪ٞ‬بیی و‪ ٝ‬اظ ِحبػ ٔىب٘ی زض آذط ثمی‪ ٝ‬دبضأشط‪ٞ‬ب‬
‫٘یؿش‪ٙ‬س ٔمساض اذشهبل زاز‪ .‬ث‪ ٝ‬یبز زاقش‪ ٝ‬ثبقیس و‪ٕ٘ ٝ‬ی س‪ٛ‬اٖ ثطای ٘بزیس‪ٌ ٜ‬طفشٗ یه دبضأشط ث‪ ٝ‬ن‪ٛ‬ضر ظیط فُٕ وطز ‪:‬‬

‫)‪void SomeMethod(int required1, int optional1 = 10, int optional2 = 20‬‬


‫{‬
‫‪//Some Code‬‬
‫}‬

‫‪// ... Code omitted for demonstration‬‬

‫‪SomeMethod(10, , 100); //Error‬‬

‫اٌط ثر‪ٛ‬ا‪ٞ‬یس اظ یه دبضأشط اذشیبضی و‪ ٝ‬زض آذط دبضأشط‪ٞ‬بی زیٍط ٘یؿز ضز ق‪ٛ‬یس ‪ ٚ‬آٖ ضا ٘بزیس‪ ٜ‬ثٍیطیس ثبیس اظ ٘بْ دبضأشط‪ٞ‬ب‬
‫اؾشفبز‪ ٜ‬و‪ٙ‬یس‪.‬‬

‫;)‪SomeMethod(10, optional2: 100‬‬

‫‪142‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫ثطای اؾشفبز‪ ٜ‬اظ ٘بْ آضٌ‪ٔٛ‬ب٘‪ٟ‬ب قٕب ث‪ ٝ‬ضاحشی ٔی س‪ٛ‬ا٘یس ٘بْ ٔره‪ٛ‬ل دبضأشط ‪ ٚ‬ثقس اظ ٘بْ فالٔز وبِٗ ( ‪ ٚ ) :‬ثقس ٔمساض اذشهبل‬
‫قس‪ ٜ‬ث‪ ٝ‬آٖ ضا ٘‪ٛ‬قز ٔب٘‪ٙ‬س ( ‪ٔ . )optional2: 100‬شس ثبال ‪ٞ‬یچ آضٌ‪ٔٛ‬ب٘ی ثطای دبضأشط اذشیبضی ‪٘ optional1‬ساضز ث‪ٙ‬بثطایٗ ایٗ‬
‫دبضأشط اظ ٔمساض دیكفطضی و‪ ٝ‬زض ظٔبٖ سقطیف ٔشس ث‪ ٝ‬آٖ اذشهبل زاز‪ ٜ‬قس‪ ٜ‬اؾز اؾشفبز‪ٔ ٜ‬ی و‪ٙ‬س‪.‬‬

‫ػشتاسگزاسی هسذّا‬

‫ؾط ثبضٌصاضی ٔشس‪ٞ‬ب ث‪ ٝ‬قٕب اخبظ‪ٔ ٜ‬ی ز‪ٞ‬س و‪ ٝ‬ز‪ٔ ٚ‬شس ثب ٘بْ یىؿبٖ سقطیف و‪ٙ‬یس و‪ ٝ‬زاضای أضب ‪ ٚ‬سقساز دبضأشط‪ٞ‬بی ٔرشّف‬
‫‪ٞ‬ؿش‪ٙ‬س‪ .‬ثط٘بٔ‪ ٝ‬اظ ض‪ٚ‬ی آضٌ‪ٔٛ‬ب٘‪ٟ‬بیی و‪ ٝ‬قٕب ث‪ٔ ٝ‬شس اضؾبَ ٔی و‪ٙ‬یس ث‪ ٝ‬ن‪ٛ‬ضر ذ‪ٛ‬زوبض سكریم ٔی ز‪ٞ‬س و‪ ٝ‬وساْ ٔشس ضا‬
‫فطاذ‪ٛ‬ا٘ی وطز‪ ٜ‬ایس یب وساْ ٔشس ٔس ٘ؾط قٕبؾز‪ .‬أضبی یه ٔشس ٘كبٖ ز‪ٙٞ‬س‪ ٜ‬سطسیت ‪ٛ٘ ٚ‬ؿ دبضأشط‪ٞ‬بی آٖ اؾز‪.‬‬

‫ث‪ٔ ٝ‬ثبَ ظیط س‪ٛ‬خ‪ ٝ‬و‪ٙ‬یس ‪:‬‬

‫)‪void MyMethod(int x, double y, string z‬‬

‫و‪ ٝ‬أضبی ٔشس ثبال‬

‫)‪MyMethod(int, double, string‬‬

‫ث‪ ٝ‬ایٗ ٘ىش‪ ٝ‬س‪ٛ‬خ‪ ٝ‬و‪ٙ‬یس و‪ٛ٘ ٝ‬ؿ ثطٌكشی ‪٘ ٚ‬بْ دبضأشط‪ٞ‬ب قبُٔ أضبی ٔشس ٕ٘ی ق‪٘ٛ‬س‪ .‬زض ٔثبَ ظیط ٕ٘‪ ٝ٘ٛ‬ای اظ ؾطثبضٌصاضی ٔشس ‪ٞ‬ب‬
‫آٔس‪ ٜ‬اؾز‪.‬‬

‫‪1‬‬ ‫;‪using System‬‬


‫‪2‬‬
‫‪3‬‬ ‫‪namespace MethodOverloadingDemo‬‬
‫‪4‬‬ ‫{‬
‫‪5‬‬ ‫‪public class Program‬‬
‫‪6‬‬ ‫{‬
‫‪7‬‬ ‫)‪static void ShowMessage(double number‬‬
‫‪8‬‬ ‫{‬
‫‪9‬‬ ‫;)"‪Console.WriteLine("Double version of the method was called.‬‬
‫‪10‬‬ ‫}‬
‫‪11‬‬
‫‪12‬‬ ‫)‪static void ShowMessage(int number‬‬
‫‪13‬‬ ‫{‬
‫‪14‬‬ ‫;)"‪Console.WriteLine("Integer version of the method was called.‬‬
‫‪15‬‬ ‫}‬
‫‪16‬‬
‫‪17‬‬ ‫)(‪static void Main‬‬
‫‪18‬‬ ‫{‬
‫‪19‬‬ ‫;)‪ShowMessage(9.99‬‬
‫‪20‬‬ ‫;)‪ShowMessage(9‬‬

‫‪143‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫‪21‬‬ ‫}‬
‫‪22‬‬ ‫}‬
‫} ‪23‬‬
‫‪Double version of the method was called.‬‬
‫‪Integer version of the method was called.‬‬

‫زض ثط٘بٔ‪ ٝ‬ثبال ز‪ٔ ٚ‬شس ثب ٘بْ ٔكبث‪ ٝ‬سقطیف قس‪ ٜ‬ا٘س‪ .‬اٌط ؾطثبضٌصاضی ٔشس س‪ٛ‬ؾظ ؾی قبضح دكشیجب٘ی ٕ٘ی قس ثط٘بٔ‪ ٝ‬ظٔبٖ ظیبزی‬
‫ثطای ا٘شربة یه ٔشس اظ ثیٗ ٔشس‪ٞ‬بیی و‪ ٝ‬فطاذ‪ٛ‬ا٘ی ٔی ق‪٘ٛ‬س‪ ،‬الظْ زاقز‪ .‬ضاظی زض ٘‪ٛ‬ؿ دبضأشط‪ٞ‬بی ٔشس ٘‪ٟ‬فش‪ ٝ‬اؾز‪ .‬وبٔذبیّط ثیٗ‬
‫ز‪ ٚ‬یب چ‪ٙ‬س ٔشس زض ن‪ٛ‬ضسی فطق ٔی ٌصاضز و‪ ٝ‬دبضأشط‪ٞ‬بی ٔشفب‪ٚ‬سی زاقش‪ ٝ‬ثبق‪ٙ‬س‪.‬‬

‫‪ٚ‬لشی یه ٔشس ضا فطاذ‪ٛ‬ا٘ی ٔی و‪ٙ‬یٓ ‪ٔ ،‬شس ٘‪ٛ‬ؿ آضٌ‪ٔٛ‬ب٘‪ٟ‬ب ضا سكریم ٔی ز‪ٞ‬س‪ .‬زض فطاذ‪ٛ‬ا٘ی ا‪( َٚ‬ذظ‪ٔ )19‬ب یه ٔمساض ‪double‬‬
‫ضا ث‪ٔ ٝ‬شس )(‪ ShowMessage‬اضؾبَ وطز‪ ٜ‬ایٓ زض ٘شید‪ٔ ٝ‬شس )(‪( ShowMessage‬ذغ‪ٛ‬ط ‪ )7-10‬و‪ ٝ‬زاضای دبضأشطی اظ ٘‪ٛ‬ؿ‬
‫‪ double‬اخطا ٔی ق‪ٛ‬ز‪.‬‬

‫‪ٔ )20‬ب یه ٔمساض ‪ int‬ضا ث‪ٔ ٝ‬شس )(‪ ShowMessage‬اضؾبَ ٔی و‪ٙ‬یٓ ٔشس‬ ‫زض ثبض ز‪ ْٚ‬و‪ٔ ٝ‬شس فطاذ‪ٛ‬ا٘ی ٔی ق‪ٛ‬ز (ذظ‬
‫)(‪( ShowMessage‬ذغ‪ٛ‬ط ‪ )12-15‬و‪ ٝ‬زاضای دبضأشطی اظ ٘‪ٛ‬ؿ ‪ int‬اؾز اخطا ٔی ق‪ٛ‬ز‪ٔ .‬ق‪ٙ‬بی انّی ؾطثبضٌصاضی ٔشس ‪ٕٞ‬یٗ‬
‫اؾز و‪ ٝ‬س‪ٛ‬ضیح زاز‪ ٜ‬قس‪ٞ .‬سفانّی اظ ؾطثبضٌصاضی ٔشس‪ٞ‬ب ایٗ اؾز و‪ ٝ‬ثش‪ٛ‬اٖ چ‪ٙ‬سیٗ ٔشس و‪ٚ ٝ‬ؽیف‪ ٝ‬یىؿب٘ی ا٘دبْ ٔی ز‪ٙٞ‬س‬
‫ضا سقطیف وطز سقساز ظیبزی اظ ٔشس‪ٞ‬ب زض والؾ‪ٟ‬بی زار ٘ز ؾطثبضٌصاضی ٔی ق‪٘ٛ‬س‪ٔ ،‬ب٘‪ٙ‬س ٔشس)(‪ WriteLine‬اظ والؼ ‪.Console‬‬
‫لجال ٔكب‪ٞ‬س‪ ٜ‬وطزیس و‪ ٝ‬ایٗ ٔشس ٔی س‪ٛ‬ا٘س یه آضٌ‪ٔٛ‬بٖ اظ ٘‪ٛ‬ؿ ضقش‪ ٝ‬زضیبفز و‪ٙ‬س ‪ ٚ‬آٖ ضا ٕ٘بیف ز‪ٞ‬س‪ ٚ ،‬زض حبِز زیٍط ٔی س‪ٛ‬ا٘س‬
‫ز‪ ٚ‬یب چ‪ٙ‬س آضٌ‪ٔٛ‬بٖ لج‪ َٛ‬و‪ٙ‬س‪.‬‬

‫تاصگـر‬

‫ثبظٌكز فطای‪ٙ‬سی اؾز و‪ ٝ‬زض آٖ ٔشس ٔساْ ذ‪ٛ‬ز ضا فطاذ‪ٛ‬ا٘ی ٔی و‪ٙ‬س سب ظٔب٘ی و‪ ٝ‬ث‪ ٝ‬یه ٔمساض ٔ‪ٛ‬ضز ٘ؾط ثطؾس‪ .‬ثبظٌكز یه‬
‫ٔجحث دیچیس‪ ٜ‬زض ثط٘بٔ‪ٛ٘ ٝ‬یؿی اؾز ‪ ٚ‬سؿظ ث‪ ٝ‬آٖ وبض ضا حشی ٘یؿز‪ .‬ث‪ ٝ‬ایٗ ٘ىش‪ ٓٞ ٝ‬س‪ٛ‬خ‪ ٝ‬و‪ٙ‬یس و‪ ٝ‬ثبظٌكز ثبیس زض یه ٘مغ‪ٝ‬‬
‫ٔش‪ٛ‬لف ق‪ٛ‬ز ‪ٌٚ‬ط٘‪ ٝ‬ثطای ثی ٘‪ٟ‬بیز ثبض‪ٔ ،‬شس‪ ،‬ذ‪ٛ‬ز ضا فطاذ‪ٛ‬ا٘ی ٔی و‪ٙ‬س‪ .‬زض ایٗ زضؼ یه ٔثبَ ؾبز‪ ٜ‬اظ ثبظٌكز ضا ثطای قٕب‬
‫س‪ٛ‬ضیح ٔی ز‪ٞ‬یٓ‪ .‬فبوش‪ٛ‬ضیُ یه فسز نحیح ٔثجز (!‪ )n‬قبُٔ حبنُ ضطة ‪ ٕٝٞ‬افساز ٔثجز نحیح و‪ٛ‬چىشط یب ٔؿب‪ٚ‬ی آٖ ٔی‬
‫ثبقس‪ .‬ث‪ ٝ‬فبوش‪ٛ‬ضیُ فسز‪ 5‬س‪ٛ‬خ‪ ٝ‬و‪ٙ‬یس‪.‬‬

‫‪5! = 5 * 4 * 3 * 2 * 1 = 120‬‬

‫ث‪ٙ‬بثطایٗ ثطای ؾبذز یه ٔشس ثبظٌكشی ثبیس ث‪ ٝ‬فىط س‪ٛ‬لف آٖ ‪ ٓٞ‬ثبقیٓ‪ .‬ثط اؾبؼ س‪ٛ‬ضیح ثبظٌكز ‪ ،‬فبوش‪ٛ‬ضیُ فمظ ثطای افساز‬
‫ٔثجز نحیح اؾز‪ .‬و‪ٛ‬چىشطیٗ فسز نحیح ٔثجز‪ 1‬اؾز‪ .‬زض ٘شید‪ ٝ‬اظ ایٗ ٔمساض ثطای ٔش‪ٛ‬لف وطزٖ ثبظٌكز اؾشفبز‪ٔ ٜ‬ی و‪ٙ‬یٓ‪.‬‬

‫‪1‬‬ ‫;‪using System‬‬


‫‪2‬‬
‫‪3‬‬ ‫‪public class Program‬‬
‫‪4‬‬ ‫{‬
‫‪5‬‬ ‫)‪static long Factorial(int number‬‬

‫‪144‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫‪6‬‬ ‫{‬
‫‪7‬‬ ‫)‪if (number == 1‬‬
‫‪8‬‬ ‫;‪return 1‬‬
‫‪9‬‬
‫‪10‬‬ ‫;)‪return number * Factorial(number - 1‬‬
‫‪11‬‬ ‫}‬
‫‪12‬‬
‫‪13‬‬ ‫)(‪public static void Main‬‬
‫‪14‬‬ ‫{‬
‫‪15‬‬ ‫;))‪Console.WriteLine(Factorial(5‬‬
‫‪16‬‬ ‫}‬
‫} ‪17‬‬
‫‪120‬‬

‫ٔشس ٔمساض ثعضٌی ضا ثط ٔی ٌطزا٘س چ‪ٔ ٖٛ‬حبؾج‪ ٝ‬فبوش‪ٛ‬ضیُ ٔی س‪ٛ‬ا٘س ذیّی ثعضي ثبقس‪ٔ .‬شس یه آضٌ‪ٔٛ‬بٖ و‪ ٝ‬یه فسز اؾز ‪ٔ ٚ‬ی‬
‫س‪ٛ‬ا٘س زض ٔحبؾج‪ٛٔ ٝ‬ضز اؾشفبز‪ ٜ‬لطاض ٌیطز ضا ٔی دصیطز‪ .‬زض زاذُ ٔشس یه زؾش‪ٛ‬ض ‪ٔ if‬ی ٘‪ٛ‬یؿیٓ ‪ ٚ‬زض ذظ ‪ٔ 7‬ی ٌ‪ٛ‬ییٓ و‪ ٝ‬اٌط‬
‫آضٌ‪ٔٛ‬بٖ اضؾبَ قس‪ ٜ‬ثطاثط ‪ 1‬ثبقس ؾذؽ ٔمساض ‪ 1‬ضا ثطٌطزاٖ زض غیط ای‪ٙ‬ه‪ٛ‬ضر ث‪ ٝ‬ذظ ثقس ثط‪ .ٚ‬ایٗ قطط ثبفث س‪ٛ‬لف سىطاض‪ٞ‬ب ٘یع‬
‫ٔی ق‪ٛ‬ز‪ .‬زض ذظ ‪ٔ 10‬مساض خبضی ٔشغیط ‪ number‬زض فسزی یه ‪ٚ‬احس وٕشط اظ ذ‪ٛ‬زـ (‪ )number – 1‬ضطة ٔی ق‪ٛ‬ز‪.‬زض ایٗ‬
‫ذظ ٔشس ‪ Factorial‬ذ‪ٛ‬ز ضا فطاذ‪ٛ‬ا٘ی ٔی و‪ٙ‬س ‪ ٚ‬آضٌ‪ٔٛ‬بٖ آٖ زض ایٗ ذظ ‪ٕٞ‬بٖ ‪ number – 1‬اؾز‪ٔ .‬ثال اٌط ٔمساض خبضی‬
‫‪ 10 number‬ثبقس یق‪ٙ‬ی اٌط ٔب ثر‪ٛ‬ا‪ٞ‬یٓ فبوش‪ٛ‬ضیُ فسز ‪ 10‬ضا ث‪ ٝ‬زؾز ثیب‪ٚ‬ضیٓ آضٌ‪ٔٛ‬بٖ ٔشس ‪ Factorial‬زض ا‪ِٚ‬یٗ ضطة ‪9‬‬
‫ذ‪ٛ‬ا‪ٞ‬س ث‪ٛ‬ز‪ .‬فطای‪ٙ‬س ضطة سب ظٔب٘ی ازأ‪ٔ ٝ‬ی یبثس و‪ ٝ‬آضٌ‪ٔٛ‬بٖ اضؾبَ قس‪ ٜ‬ثب فسز ‪ 1‬ثطاثط ٘ك‪ٛ‬ز‪ .‬قىُ ظیط فبوش‪ٛ‬ضیُ فسز ‪ 5‬ضا‬
‫٘كبٖ ٔی ز‪ٞ‬س‪.‬‬

‫وس ثبال ضا ث‪ٚ ٝ‬ؾیّ‪ ٝ‬یه حّم‪٘ forٝ‬یع ٔی س‪ٛ‬اٖ ٘‪ٛ‬قز‪.‬‬

‫‪145‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫;‪factorial = 1‬‬

‫) ‪for ( int counter = number; counter >= 1; counter--‬‬


‫;‪factorial *= counter‬‬

‫ایٗ وس اظ وس ٔقبزَ ثبظٌكشی آٖ آؾبٖ سط اؾز‪ .‬اظ ثبظٌكز زض ظٔی‪ٞ ٝٙ‬بی ذبنی زض فّ‪ ْٛ‬وبٔذی‪ٛ‬سط اؾشفبز‪ٔ ٜ‬ی ق‪ٛ‬ز‪ .‬اؾشفبز‪ ٜ‬اظ‬
‫ثبظٌكز ظٔب٘ی عجیقی سط ث‪٘ ٝ‬ؾط ٔی ضؾس و‪ٔ ٝ‬ب اظ غیط ثبظٌكشی (‪ )Iteration‬اؾشفبز‪ ٜ‬و‪ٙ‬یٓ‪ .‬اؾشفبز‪ ٜ‬اظ ثبظٌكز حبفؾ‪ ٝ‬ظیبزی‬
‫اقغبَ ٔی و‪ٙ‬س دؽ اٌط ؾطفز ثطای قٕب ٔ‪ ٟٓ‬اؾز اظ آٖ اؾشفبز‪٘ ٜ‬ى‪ٙ‬یس‪.‬‬

‫ًوایٌذُ ّا(‪)Delegates‬‬
‫‪ٞ Delegate‬ب ا٘‪ٛ‬افی ‪ٞ‬ؿش‪ٙ‬س و‪ٔ ٝ‬طخـ یه ٔشس ضا زض ذ‪ٛ‬ز شذیط‪ٔ ٜ‬ی و‪ٙٙ‬س‪ٕٞ .‬چ‪ٙ‬یٗ ٔی س‪ٛ‬ا٘‪ٙ‬س ضفشبض ‪ٞ‬ط ٔشسی ضا وذی ثطزاضی‬
‫و‪ٙٙ‬س‪ .‬ثطای سقطیف یه‪ delegate‬اظ وّٕ‪ ٝ‬وّیسی ‪ delegate‬اؾشفبز‪ٔ ٜ‬ی ق‪ٛ‬ز‪ .‬سقطیف یه‪ delegate‬ثؿیبض قجی‪ ٝ‬ث‪ ٝ‬سقطیف یه‬
‫ٔشس اؾز ثب ایٗ سفب‪ٚ‬ر و‪ٔ ٝ‬شس ثس٘‪ ٝ‬زاضز ‪ِٚ‬ی‪٘ delegate‬ساضز‪ Delegate .‬زلیمب ٔب٘‪ٙ‬س ٔشس‪ٞ‬ب زاضای ٘‪ٛ‬ؿ ثطٌكشی ‪ٔ ٚ‬دٕ‪ٛ‬ف‪ ٝ‬ای‬
‫اظ دبضأشط‪ٞ‬ب ‪ٞ‬ؿش‪ٙ‬س‪ٞ Delegate .‬ب ٔی ٌ‪ٛ‬ی‪ٙ‬س و‪ ٝ‬چ‪ٛ٘ ٝ‬ؿ ٔشسی ضا ٔی س‪ٛ‬ا٘‪ٙ‬س زض ذ‪ٛ‬ز شذیط‪ ٜ‬و‪ٙٙ‬س‪ .‬زض ظیط ٘ح‪ ٜٛ‬سقطیف‬
‫‪٘ delegate‬كبٖ زاز‪ ٜ‬قس‪ ٜ‬اؾز ‪:‬‬

‫;)‪delegate returnType DelegateName(dt param1, dt param2, ... dt paramN‬‬

‫زض ظیط ٘ح‪ ٜٛ‬اؾشفبز‪ ٜ‬اظ یه ‪ ٚ delegate‬ف‪ٛ‬ایس آٖ ٘كبٖ زاز‪ ٜ‬قس‪ ٜ‬اؾز ‪:‬‬

‫‪1‬‬ ‫;‪using System‬‬


‫‪2‬‬
‫‪3‬‬ ‫‪public class Program‬‬
‫‪4‬‬ ‫{‬
‫‪5‬‬ ‫;)‪delegate void ArithmeticDelegate(int num1, int num2‬‬
‫‪6‬‬
‫‪7‬‬ ‫)‪static void Add(int x, int y‬‬
‫‪8‬‬ ‫{‬
‫‪9‬‬ ‫;)‪Console.WriteLine("Sum is {0}.", x + y‬‬
‫‪10‬‬ ‫}‬
‫‪11‬‬
‫‪12‬‬ ‫)‪static void Subtract(int x, int y‬‬
‫‪13‬‬ ‫{‬
‫‪14‬‬ ‫;)‪Console.WriteLine("Difference is {0}.", x - y‬‬
‫‪15‬‬ ‫}‬
‫‪16‬‬
‫‪17‬‬ ‫)(‪static void Main‬‬
‫‪18‬‬ ‫{‬
‫‪19‬‬ ‫;‪ArithmeticDelegate Operation‬‬
‫‪20‬‬
‫‪21‬‬ ‫;‪int num1, num2‬‬
‫‪22‬‬

‫‪146‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫‪23‬‬ ‫;)" ‪Console.Write("Enter first number:‬‬


‫‪24‬‬ ‫;))(‪num1 = Convert.ToInt32(Console.ReadLine‬‬
‫‪25‬‬
‫‪26‬‬ ‫;)" ‪Console.Write("Enter second number:‬‬
‫‪27‬‬ ‫;))(‪num2 = Convert.ToInt32(Console.ReadLine‬‬
‫‪28‬‬
‫‪29‬‬ ‫)‪if (num1 < num2‬‬
‫‪30‬‬ ‫{‬
‫‪31‬‬ ‫;)‪Operation = new ArithmeticDelegate(Add‬‬
‫‪32‬‬ ‫}‬
‫‪33‬‬ ‫‪else‬‬
‫‪34‬‬ ‫{‬
‫‪35‬‬ ‫;)‪Operation = new ArithmeticDelegate(Subtract‬‬
‫‪36‬‬ ‫}‬
‫‪37‬‬
‫‪38‬‬ ‫;)‪Operation(num1, num2‬‬
‫‪39‬‬ ‫}‬
‫} ‪40‬‬
‫‪Enter first number: 3‬‬
‫‪Enter second number: 5‬‬
‫‪Sum is 8‬‬
‫‪Enter first number: 5‬‬
‫‪Enter second number: 3‬‬
‫‪Difference is 2‬‬

‫زض ذظ ‪ delegate ، 5‬سقطیف قس‪ ٜ‬اؾز‪ .‬اظ وّٕ‪ ٝ‬وّیسی ‪ delegate‬ثطای ٘كبٖ زاز‪ ٜ‬آٖ اؾشفبز‪ ٜ‬قس‪ ٜ‬اؾز‪ .‬ث‪ ٝ‬ز٘جبَ آٖ ٘‪ٛ‬ؿ‬
‫ثطٌكشی ٔشسی و‪ ٝ‬لج‪ٔ َٛ‬ی و‪ٙ‬س ‪ ٓٞ‬آٔس‪ ٜ‬اؾز‪ .‬ثطای ٘بٍٔصاضی ‪ٔ delegate‬ب٘‪ٙ‬س ٔشس‪ٞ‬ب اظ ض‪ٚ‬ـ ‪ Pascal‬اؾشفبز‪ٔ ٜ‬ی و‪ٙ‬یٓ‪.‬‬
‫‪ٕٞ‬چ‪ٙ‬یٗ ثطای سكریم ث‪ٟ‬شط آ٘‪ٟ‬ب ث‪ٟ‬شط اؾز اظ وّٕ‪ delegateٝ‬زض ٘بٍٔصاضی آ٘‪ٟ‬ب اؾشفبز‪ ٜ‬ق‪ٛ‬ز‪ .‬دبضأشط‪ٞ‬بیی و‪ ٝ‬ثطای‪delegate‬‬
‫سقطیف ٔی و‪ٙ‬یٓ ثبیس اظ ٘ؾط ٘‪ٛ‬ؿ ‪ ٚ‬سقساز ثب دبضأشط‪ٞ‬بی ٔشس‪ٞ‬ب ثطاثط ثبقس‪.‬‬

‫‪ Delegate‬ی و‪ ٝ‬زض ذظ ‪ 5‬سقطیف قس‪ ٜ‬اؾز فمظ ٔطخـ ٔشس‪ٞ‬بیی ضا لج‪ٔ َٛ‬ی و‪ٙ‬س زاضای ٔمساض ثطٌكشی ٘یؿش‪ٙ‬س ‪ ٚ‬ز‪ ٚ‬دبضأشط اظ‬
‫٘‪ٛ‬ؿ ‪ int‬زاض٘س‪ .‬ثقس اظ سقطیف ‪ delegate‬ز‪ٔ ٚ‬شس ثب أضبی زلیمب ٔكبث‪ ٝ‬ث‪ ٝ‬ف‪ٛٙ‬اٖ ٕ٘بی‪ٙ‬س‪ ٜ‬سقطیف ٔی و‪ٙ‬یٓ ‪ٞ .‬ط ز‪ٔ ٚ‬شس ‪ٞ‬یچ‬
‫ٔمساضثطٌكشی ٘ساض٘س ‪ٞ ٚ‬ط ز‪ 2 ،ٚ‬آضٌ‪ٔٛ‬بٖ اظ ٘‪ٛ‬ؿ ‪ int‬لج‪ٔ َٛ‬ی و‪ٙٙ‬س‪ .‬زض زاذُ ٔشس ‪ Main‬یه ٔشغیط اظ ٘‪ٛ‬ؿ ‪ delegate‬ی و‪ٝ‬‬
‫لجال سقطیف وطز‪ ٜ‬ایٓ ‪،‬سقطیف ٔی و‪ٙ‬یٓ (ذظ‪ .) 19‬ایٗ ٔشغیط اقبض‪ ٜ‬ث‪ٔ ٝ‬شسی زاضز و‪ ٝ‬أضبی آٖ ثب أضبی‪ٔ Delegate‬غبثمز زاضز‪.‬‬
‫ثط٘بٔ‪ ٝ‬اظ وبضثط ٔی ذ‪ٛ‬ا‪ٞ‬س ز‪ٔ ٚ‬مساض اظ ٘‪ٛ‬ؿ ‪ int‬ضا ‪ٚ‬اضز و‪ٙ‬س‪ .‬ثقس اظ ‪ٚ‬اضز وطزٖ ٔمبزیط ‪ٚ‬اضز ا‪ِٚ‬یٗ زؾش‪ٛ‬ض ‪ٔ if‬ی ق‪ٛ‬یٓ ‪ ،‬چ‪ٙ‬ب٘چ‪ٝ‬‬
‫ٔمساض ا‪ِٚ‬یٗ فسزی و‪ ٝ‬وبضثط ‪ٚ‬اضز وطز‪ ٜ‬اظ ز‪ٔٚ‬یٗ فسز ‪ٚ‬اضز قس‪ ٜ‬وٕشط ثبقس ‪ ،‬ز‪ ٚ‬فسز ثب ‪ ٓٞ‬خٕـ ٔی ق‪٘ٛ‬س‪ ،‬زض غیط ای‪ٙ‬ه‪ٛ‬ضر اٌط‬
‫ٔمساض ا‪ِٚ‬یٗ فسز ثعضٌشط یب ٔؿب‪ٚ‬ی ز‪ٔٚ‬یٗ فسز ثبقس اظ ‪ ٓٞ‬وٓ ٔی ق‪٘ٛ‬س‪ .‬ثطای اضخبؿ یه ٔشس ث‪ ٝ‬یه ‪ delegate‬ث‪ ٝ‬ن‪ٛ‬ضر ظیط‬
‫فُٕ ٔی و‪ٙ‬یٓ ‪:‬‬

‫;)‪variable = new DelegateName(MethodName‬‬

‫‪ٚ‬لشی یه ‪ delegate‬ضا ثب یه ٔطخـ ٔشس ثطاثط لطاض ٔی ز‪ٞ‬یٓ ثبیس لجُ اظ ٘بْ‪ delegate‬اظ وّٕ‪ ٝ‬وّیسی ‪ new‬اؾشفبز‪ ٜ‬و‪ٙ‬یٓ (ٔثبَ‬
‫ثبال)‪ .‬زض زاذُ دطا٘شع ٘بْ ٔشسی و‪ delegateٝ‬ث‪ ٝ‬آٖ ٔطاخق‪ٔ ٝ‬ی و‪ٙ‬س ٘كبٖ زاز‪ ٜ‬قس‪ ٜ‬اؾز‪ .‬یه ضا‪ ٜ‬ثؿیبض ؾبز‪ ٜ‬سط ثطاثط لطاض زازٖ‬
‫٘بْ ٔشس ثب ٔشغیط‪ delegate‬اؾز ‪:‬‬

‫‪147‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫;‪Operation = Add‬‬
‫;‪Operation = Subtract‬‬

‫ث‪ ٝ‬زؾش‪ٛ‬ض ‪ if‬ثط ٔی ٌطزیٓ ‪ٚ‬لشی قطط زضؾز ثبقس ‪ delegate،‬ضا ث‪ٔ ٝ‬شس )(‪ٍٙٞ ٚ add‬بٔی و‪ ٝ‬قطط ٘بزضؾز ثبقس آٖ ضا ث‪ٔ ٝ‬شس‬
‫)(‪ Subtract‬اضخبؿ ٔی ز‪ٞ‬یٓ‪ .‬اخطای‪ delegate‬ثبفث اخطای ٔشسی ٔی ق‪ٛ‬ز و‪ delegateٝ‬ث‪ ٝ‬آٖ ٔطاخق‪ٔ ٝ‬ی و‪ٙ‬س‪.‬‬

‫ؿواسؽ (‪)Enumeration‬‬
‫قٕبضـ ضا‪ٞ‬ی ثطای سقطیف زاز‪ٞ ٜ‬بیی اؾز و‪ٔ ٝ‬ی س‪ٛ‬ا٘‪ٙ‬س ٔمبزیط ٔحس‪ٚ‬زی و‪ ٝ‬قٕب اظ لجُ سقطیف وطز‪ ٜ‬ایس ضا ثذصیط٘س‪ .‬ث‪ ٝ‬ف‪ٛٙ‬اٖ‬
‫ٔثبَ قٕب ٔی ذ‪ٛ‬ا‪ٞ‬یس یه ٔشغیط سقطیف و‪ٙ‬یس و‪ ٝ‬فمظ ٔمبزیط خ‪ٟ‬ز (خغطافیبیی)ٔب٘‪ٙ‬س‪ south ٚ north ،west ،east‬ضا زض ذ‪ٛ‬ز‬
‫شذیط‪ ٜ‬و‪ٙ‬س‪ .‬اثشسا یه ‪ enumeration‬سقطیف ٔی و‪ٙ‬یس ‪ ٚ‬ثطای آٖ یه اؾٓ ا٘شربة وطز‪ ٚ ٜ‬ثقس اظ آٖ سٕبْ ٔمبزیط ٕٔىٗ و‪ٔ ٝ‬ی‬
‫س‪ٛ‬ا٘‪ٙ‬س زض زاذُ ثس٘‪ ٝ‬آٖ لطاض ثٍیط٘س سقطیف ٔی و‪ٙ‬یس‪ .‬ث‪٘ ٝ‬ح‪ ٜٛ‬سقطیف یه‪ enumeration‬س‪ٛ‬خ‪ ٝ‬و‪ٙ‬یس‪:‬‬

‫‪enum enumName‬‬
‫{‬
‫‪value1,‬‬
‫‪value2,‬‬
‫‪value3,‬‬
‫‪.‬‬
‫‪.‬‬
‫‪.‬‬
‫‪valueN‬‬
‫}‬

‫اثشسا وّٕ‪ ٝ‬وّیسی ‪ ٚ enum‬ؾذؽ ٘بْ آٖ ضا ث‪ ٝ‬وبض ٔی ثطیٓ‪ .‬زض ؾی قبضح ثطای ٘بٍٔصاضی ‪ enumeration‬اظ ض‪ٚ‬ـ دبؾىبَ‬
‫اؾشفبز‪ ٜ‬و‪ٙ‬یس‪ .‬زض ثس٘‪ٔ enumٝ‬مبزیطی ‪ٚ‬خ‪ٛ‬ز زاض٘س و‪ ٝ‬ثطای ‪ٞ‬ط وساْ یه ٘بْ زض ٘ؾط ٌطفش‪ ٝ‬قس‪ ٜ‬اؾز‪ .‬ث‪ ٝ‬یه ٔثبَ س‪ٛ‬خ‪ ٝ‬و‪ٙ‬یس ‪:‬‬

‫‪enum Direction‬‬
‫{‬
‫‪North,‬‬
‫‪East,‬‬
‫‪South,‬‬
‫‪West‬‬
‫}‬

‫زض حبِز دیكفطو ٔمبزیطی و‪ ٝ‬یه ‪ٔ enumeration‬ی س‪ٛ‬ا٘س شذیط‪ ٜ‬و‪ٙ‬س اظ ٘‪ٛ‬ؿ ‪ٞ int‬ؿش‪ٙ‬س‪ .‬ث‪ ٝ‬ف‪ٛٙ‬اٖ ٔثبَ ٔمساض دیكفطو‬
‫‪ East‬ثطاثط ‪ٔ ، 1‬مساض ‪ South‬ثطاثط‬
‫‪ North‬نفط ‪ٔ ٚ‬مساض ثمی‪ٔ ٝ‬مبزیط یه ‪ٚ‬احس ثیكشط اظ ٔمساض لجّی ذ‪ٛ‬زقبٖ اؾز‪ .‬ث‪ٙ‬بثطایٗ ٔمساض‬
‫‪ٔ ٚ 2‬مساض ‪ West‬ثطاثط ‪ 3‬اؾز‪ٔ .‬ی س‪ٛ‬ا٘یس ایٗ ٔمبزیط دیكفطو ضا ث‪ ٝ‬زِر‪ٛ‬ا‪ ٜ‬سغییط ز‪ٞ‬یس‪ٔ ،‬ب٘‪ٙ‬س‪:‬‬

‫‪enum Direction‬‬
‫{‬
‫‪North = 3,‬‬

‫‪148‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫‪East = 5,‬‬
‫‪South = 7,‬‬
‫‪West = 9‬‬
‫}‬

‫اٌط ث‪ ٝ‬ف‪ٛٙ‬اٖ ٔثبَ ‪ٞ‬یچ ٔمساضی ث‪ ٝ‬یه ف‪ٙ‬هط اذشهبل ٘س‪ٞ‬یس آٖ ف‪ٙ‬هط ث‪ ٝ‬ن‪ٛ‬ضر ذ‪ٛ‬زوبض ٔمساض ٔی ٌیطز‪.‬‬

‫‪enum Direction‬‬
‫{‬
‫‪North = 3,‬‬
‫‪East = 5,‬‬
‫‪South,‬‬
‫‪West‬‬
‫}‬

‫زض ٔثبَ ثبال ٔكب‪ٞ‬س‪ٔ ٜ‬ی و‪ٙ‬یس و‪ٔ ٝ‬ب ‪ٞ‬یچ ٔمساضی ثطای‪ South‬زض ٘ؾط ٍ٘طفش‪ ٝ‬ایٓ ث‪ٙ‬بثطایٗ ث‪ ٝ‬ن‪ٛ‬ضر ذ‪ٛ‬زوبض یه ‪ٚ‬احس ثیكشط اظ‬
‫‪ East‬یق‪ٙ‬ی ‪ ٚ 6‬ث‪ West ٝ‬یه ‪ٚ‬احس ثیكشط اظ ‪ South‬یق‪ٙ‬ی ‪ 7‬اذشهبل زاز‪ٔ ٜ‬ی ق‪ٛ‬ز‪ٕٞ .‬چ‪ٙ‬یٗ ٔی س‪ٛ‬اٖ ٔمبزیط یىؿب٘ی ثطای‬
‫ف‪ٙ‬بنط ‪ enumeration‬زض ٘ؾط ٌطفز‪ٔ .‬ثبَ ‪:‬‬

‫‪enum Direction‬‬
‫{‬
‫‪North = 3,‬‬
‫‪East,‬‬
‫‪South = North,‬‬
‫‪West‬‬
‫}‬

‫ٔی س‪ٛ‬ا٘یس ٔمبزیط ثبال ضا حسؼ ثع٘یس؟ ٔمبزیط ‪ West ،South ،East ،North‬ث‪ ٝ‬سطسیت ‪ 4 ،3 ،4 ،3‬اؾز‪ٚ .‬لشی ٔمساض ‪ 3‬ضا ث‪ٝ‬‬
‫‪ٔ North‬ی ز‪ٞ‬یٓ ٔمساض‪ East‬ثطاثط ‪ٔ 4‬ی ق‪ٛ‬ز‪ .‬ؾذؽ ‪ٚ‬لشی ٔمساض‪ South‬ضا ثطاثط ‪ 3‬لطاض ز‪ٞ‬یٓ ث‪ ٝ‬ن‪ٛ‬ضر اس‪ٔٛ‬بسیه ٔمساض‪West‬‬
‫ثطاثط ‪ٔ 4‬ی ق‪ٛ‬ز‪ .‬اٌط ٕ٘ی ذ‪ٛ‬ا‪ٞ‬یس و‪ٔ ٝ‬مبزیط آیشٓ ‪ٞ‬بی ‪ enumeration‬قٕب دیكفطو (اظ ٘‪ٛ‬ؿ ‪ )int‬ثبقس ٔی س‪ٛ‬ا٘یس اظ ٘‪ٛ‬ؿ ٔثال‬
‫‪ byte‬ث‪ ٝ‬ف‪ٛٙ‬اٖ ٘‪ٛ‬ؿ زاز‪ ٜ‬ای آیشٕ‪ٟ‬بی آٖ اؾفبز‪ ٜ‬و‪ٙ‬یس‪.‬‬

‫‪enum Direction : byte‬‬


‫{‬
‫‪North,‬‬
‫‪East,‬‬
‫‪South,‬‬
‫‪West‬‬
‫}‬

‫٘‪ٛ‬ؿ زاز‪ ٜ‬ای ‪ byte‬فمظ قبُٔ ٔمبزیط ثیٗ ‪ 0‬سب ‪ٔ 255‬ی ق‪ٛ‬ز ث‪ٙ‬بثط ایٗ سقساز ٔمبزیط و‪ ٝ‬قٕب ٔی س‪ٛ‬ا٘یس ث‪ enumerationٝ‬اضبف‪ٝ‬‬
‫و‪ٙ‬یس ٔحس‪ٚ‬ز ٔی ثبقس‪.‬‬

‫‪149‬‬
www.w3-farsi.com ‫یًَغ اتشاّیوی‬: ِ‫زالیف ٍ زشجو‬ ‫هثاًی صتاى ػی ؿاسج‬

.‫یس‬ٙ‫ و‬ٝ‫خ‬ٛ‫ ؾی قبضح س‬ٝٔ‫ زض یه ثط٘ب‬enumeration‫ اظ‬ٜ‫ اؾشفبز‬ٜٛ‫ ٘ح‬ٝ‫ث‬

1 using System;
2
3 enum Direction
4 {
5 North = 1,
6 East,
7 South,
8 West
9 }
10
11 public class Program
12 {
13 public static void Main()
14 {
15 Direction myDirection;
16
17 myDirection = Direction.North;
18
19 Console.WriteLine("Direction: {0}", myDirection.ToString());
20 }
21 }
Direction: North

ٗ‫ ای‬.ٓ‫ ای‬ٜ‫ ضا ذبضج اظ والؼ لطاض زاز‬enumeration ٝ‫یس و‬ٙ‫ و‬ٝ‫خ‬ٛ‫ س‬.ٓ‫ی‬ٙ‫ سقطیف ٔی و‬3- 9 ‫ط‬ٛ‫ ضا زض ذغ‬enumeration ‫اثشسا‬
ُ‫ ضا زض زاذ‬enumeration ٖ‫ا‬ٛ‫ ٔی س‬.‫ زض زؾشطؼ ثبقس‬ٝٔ‫ زض ؾطاؾط ثط٘ب‬enumeration ٝ‫ز و‬ٛ‫وبض ثبفث ٔی ق‬
.‫ضر فمظ زض زاذُ والؼ لبثُ زؾشطؼ اؾز‬ٛ‫ِی زض ایٗ ن‬ٚ ‫ٓ سقطیف وطز‬ٞ ‫والؼ‬

class Program
{
enum Direction
{
//Code omitted
}

static void Main(string[] args)


{
//Code omitted
}
}

‫ ٔمساض‬4 ‫ سب‬1‫ب ثب‬ٟ٘‫ط یه اظ آ‬ٞ ٝ‫ز زاضز و‬ٛ‫خ‬ٚ ‫ز خغطافیبیی‬ٟ‫بض خ‬ٟ‫ ٘بْ چ‬enumeration ٝ٘‫ زض زاذُ ثس‬.ٓ‫ی‬ٞ‫ ٔی ز‬ٝٔ‫ ضا ازا‬ٝٔ‫ثط٘ب‬
.‫س‬ٙ‫ ٔی و‬ٜ‫ز شذیط‬ٛ‫ز ضا زض ذ‬ٟ‫ ٔمساض یه خ‬ٝ‫ اؾز و‬ٜ‫ یه ٔشغیط سقطیف قس‬15‫ زض ذظ‬.‫ ا٘س‬ٜ‫ی قس‬ٞ‫ز‬

150
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫٘ح‪ ٜٛ‬سقطیف آٖ ث‪ ٝ‬ن‪ٛ‬ضر ظیط اؾز ‪:‬‬

‫; ‪enumType variableName‬‬

‫زض ای‪ٙ‬دب ‪ٛ٘ enumType‬ؿ زاز‪ ٜ‬قٕبضقی (ٔثال ‪ Direction‬یب ٔؿیط) ٔی ثبقس ‪٘ variableName ٚ‬یع ٘بٔی اؾز و‪ ٝ‬ثطای آٖ‬
‫ا٘شربة وطز‪ ٜ‬ایٓ و‪ ٝ‬زض ٔثبَ لجُ ‪ myDirection‬اؾز‪ .‬ؾذؽ یه ٔمساض ث‪ٔ ٝ‬شغیط ‪ myDirection‬اذشهبل ٔی ز‪ٞ‬یٓ (ذظ‬
‫‪ .)17‬ثطای اذشهبل یه ٔمساض ث‪ ٝ‬ن‪ٛ‬ضر ظیط فُٕ ٔی و‪ٙ‬یٓ ‪:‬‬

‫;‪variable = enumType.value‬‬

‫اثشسا ٘‪ٛ‬ؿ ‪ Enumeration‬ؾذؽ فالٔز ٘مغ‪ ٚ ٝ‬ثقس ٔمساض آٖ (ٔثال‪ )North‬ضا ٔی ٘‪ٛ‬یؿیٓ‪ٔ .‬ی س‪ٛ‬اٖ یه ٔشغیط ضا ف‪ٛ‬ضا ‪،‬ث‪ ٝ‬ض‪ٚ‬ـ‬
‫ظیط ٔمساض ز‪ٞ‬ی وطز ‪:‬‬

‫;‪Direction myDirection = Direction.North‬‬

‫حبَ زض ذظ ‪ 19‬ثب اؾشفبز‪ ٜ‬اظ )(‪ٔ Console.WriteLine‬مساض ‪ myDirection‬ضا چبح ٔی و‪ٙ‬یٓ‪ .‬س‪ٛ‬خ‪ ٝ‬و‪ٙ‬یس و‪ ٝ‬ثب اؾشفبز‪ ٜ‬اظ‬
‫ٔشس )(‪ٔ ToString‬مساض فسزی ‪ myDirection‬ضا ث‪ ٝ‬ضقش‪ ، ٝ‬خ‪ٟ‬ز چبح سجسیُ ٔی و‪ٙ‬یٓ‪ .‬سه‪ٛ‬ض و‪ٙ‬یس و‪ ٝ‬اٌط ‪enumeration‬‬
‫٘ج‪ٛ‬ز قٕب ٔدج‪ٛ‬ض ث‪ٛ‬زیس و‪ ٝ‬ث‪ ٝ‬خبی وّٕبر‪ ،‬افساز ضا حفؼ و‪ٙ‬یس چ‪ٔ ٖٛ‬مبزیط ‪ enumeration‬زض ‪ٚ‬الـ افسازی ‪ٞ‬ؿش‪ٙ‬س و‪ ٝ‬ثب ٘بْ‬
‫ٔؿشقبض س‪ٛ‬ؾظ قٕب یب ‪ٞ‬ط وؽ زیٍط سقطیف ٔی ق‪٘ٛ‬س‪ٔ .‬شغیط‪ٞ‬بی قٕبضقی ٔی س‪ٛ‬ا٘‪ٙ‬س ث‪ ٝ‬ا٘‪ٛ‬اؿ زیٍطی ٔب٘‪ٙ‬س‪ int‬یب ‪ string‬سجسیُ‬
‫ق‪٘ٛ‬س‪ٕٞ .‬چ‪ٙ‬یٗ یه ٔمساض ضقش‪ ٝ‬ای ٔی س‪ٛ‬ا٘س ث‪ٛ٘ ٝ‬ؿ قٕبضقی ٔقبزِف سجسیُ ق‪ٛ‬ز‪.‬‬

‫‪151‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫سجسیُ ا٘‪ٛ‬اؿ قٕبضقی‬


‫ٔی س‪ٛ‬اٖ ا٘‪ٛ‬اؿ قٕبضقی ضا ث‪ ٝ‬زیٍط ٔمبزیط سجسیُ وطز ‪ ٚ‬ثبِقىؽ‪ٔ .‬مبزیط قٕبضقی زض ‪ٚ‬الـ ٔمبزیط فسزی ‪ٞ‬ؿش‪ٙ‬س و‪ ٝ‬ثطای زضن‬
‫ث‪ٟ‬شط آ٘‪ٟ‬ب‪ ،‬ث‪ٞ ٝ‬ط فسز یه ٘بْ اذشهبل زاز‪ ٜ‬قس‪ ٜ‬اؾز‪ .‬ث‪ٔ ٝ‬ثبَ ظیط س‪ٛ‬خ‪ ٝ‬و‪ٙ‬یس ‪:‬‬

‫‪1‬‬ ‫;‪using System‬‬


‫‪2‬‬
‫‪3‬‬ ‫‪enum Direction‬‬
‫‪4‬‬ ‫{‬
‫‪5‬‬ ‫‪North,‬‬
‫‪6‬‬ ‫‪East,‬‬
‫‪7‬‬ ‫‪South,‬‬
‫‪8‬‬ ‫‪West‬‬
‫‪9‬‬ ‫}‬
‫‪10 public class Program‬‬
‫{ ‪11‬‬
‫‪12‬‬ ‫)(‪public static void Main‬‬
‫‪13‬‬ ‫{‬
‫‪14‬‬ ‫;‪Direction myDirection = Direction.East‬‬
‫‪15‬‬ ‫;‪int myDirectionCode = (int)myDirection‬‬
‫‪16‬‬
‫‪17‬‬ ‫;)‪Console.WriteLine("Value of East is {0}", myDirectionCode‬‬
‫‪18‬‬
‫‪19‬‬ ‫;‪myDirection = (Direction)3‬‬
‫‪20‬‬ ‫;))(‪Console.WriteLine("\nDirection: {0}", myDirection.ToString‬‬
‫‪21‬‬ ‫}‬
‫} ‪22‬‬
‫‪Value of East is 1‬‬

‫‪Direction: West‬‬

‫زض ذظ ‪ٔ 14‬شغیط ‪ myDirection‬ضا ث‪ٔ ٝ‬مساض ‪ٛ٘ East‬ؿ قٕبضقی ‪ Direction‬اذشهبل زاز‪ ٜ‬ایٓ‪ .‬زض حبِز دیكفطو ٔمساض‬
‫‪ East‬زض زاذُ آیشٕ‪ٟ‬بی ایٗ زاز‪ ٜ‬قٕبضقی‪ٔ 1،‬ی ثبقس‪ .‬زض ذظ ‪٘ 15‬ح‪ ٜٛ‬سجسیُ یه آیشٓ اظ ٘‪ٛ‬ؿ قٕبضقی ث‪ ٝ‬فسز نحیح ٔقبزَ‬
‫آٖ ث‪ ٝ‬ض‪ٚ‬ـ سجسیُ نطیح ٘كبٖ زاز‪ ٜ‬قس‪ ٜ‬اؾز‪٘ .‬ح‪ ٜٛ‬ایٗ سجسیُ ث‪ ٝ‬ن‪ٛ‬ضر ظیط اؾز‪:‬‬

‫;‪variable = (DestinationDataType)enumerationVariable‬‬

‫اظ آ٘دبییى‪ٔ ٝ‬شغیط ‪( myDirectionCode‬ذظ ‪ )15‬اظ ٘‪ٛ‬ؿ ‪ int‬اؾز زض ٘شید‪ ٝ‬یه ٔمساض ‪ int‬ثبیس زض آٖ لطاض ثٍیطز‪ٔ .‬ی س‪ٛ‬اٖ ث‪ٝ‬‬
‫ؾبزٌی ٘‪ٛ‬ؿ زاز‪ٔ ٜ‬مهس ضا زض زاذُ یه خفز دطا٘شع لطاض زاز ‪ ٚ‬آٖ ضا و‪ٙ‬بض ٘‪ٛ‬ؿ قٕبضقی ثٍصاضیس (ذظ ‪٘ .) 15‬شید‪ ٝ‬یه ٔمساض‬
‫سجسیُ قس‪ ٜ‬ضا ثطٌكز ٔی ز‪ٞ‬س‪ .‬زض ذظ ‪ٔ 19‬قى‪ٛ‬ؼ ایٗ وبض ضا ا٘دبْ ٔی ز‪ٞ‬یٓ‪ .‬زض ایٗ ذظ یه ٔمساض نحیح ضا ث‪ ٝ‬یه ٔمساض‬
‫قٕبضقی سجسیُ ٔی و‪ٙ‬یٓ‪ٔ .‬مساض‪ 3‬ضا ثطاثط آیشٓ ‪ West‬لطاض ٔی ز‪ٞ‬یٓ‪ .‬ثطای سجسیُ آٖ اظ ض‪ٚ‬قی قجی‪ ٝ‬ث‪ ٝ‬سجسیُ یه ٘‪ٛ‬ؿ قٕبضقی‬
‫ث‪ ٝ‬نحیح اؾشفبز‪ٔ ٜ‬ی و‪ٙ‬یٓ(سجسیُ نطیح)‪ .‬ث‪ ٝ‬ایٗ ٘ىش‪ ٝ‬س‪ٛ‬خ‪ ٝ‬و‪ٙ‬یس و‪ ٝ‬اٌط فسزی ضا و‪ٔ ٝ‬ی ذ‪ٛ‬ا‪ٞ‬یس سجسیُ و‪ٙ‬یس زض ٔحس‪ٚ‬ز‪ ٜ‬ا٘‪ٛ‬اؿ‬
‫قٕبضقی ٘جبقس‪ ،‬سجسیُ ا٘دبْ ٔی ق‪ٛ‬ز ‪ِٚ‬ی آٖ آیشٓ قٕبضقی ‪ ٚ‬فسز ثطاثط ‪٘ ٓٞ‬یؿش‪ٙ‬س‪ .‬ث‪ ٝ‬ف‪ٛٙ‬اٖ ٔثبَ ‪:‬‬

‫‪152‬‬
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫;‪myDirection = (Direction)10‬‬

‫;))(‪Console.WriteLine("Direction: {0}", myDirection.ToString‬‬

‫‪Direction: 10‬‬

‫اظ آ٘دبییى‪ ٝ‬فسز ‪ٔ 10‬مساض ‪ٞ‬یچ وساْ اظ آیشٕ‪ٟ‬بی ٘‪ٛ‬ؿ قٕبضقی ٔثبَ ثبال ٘یؿز (ٔمساض آیشٕ‪ٟ‬بی ٘‪ٛ‬ؿ قٕبضقی ٔثبَ ثبال‬
‫‪ٞ 10‬ط وساْ اظ‬ ‫ث‪ ٝ‬سطسیت ‪ٔ 3 ٚ 2 ٚ 1 ٚ 0‬ی ثبقس)ذط‪ٚ‬خی ‪ Console‬ذ‪ٛ‬ز فسز ضا ٘كبٖ ٔی ز‪ٞ‬س ‪ِٚ‬ی اٌط ث‪ ٝ‬خبی فسز‬
‫ٔمبزیط فسزی شوط قس‪ ٜ‬ضا لطاض ز‪ٞ‬یس آیشٓ ٔقبزَ ثب آٖ ٕ٘بیف زاز‪ ٜ‬ذ‪ٛ‬ا‪ٞ‬س قس‪.‬‬

‫زثذیل یه ًَع سؿسِ ای تِ یه ًَع ؿواسؿی‬

‫”‪ “West‬ضا ث‪ٛ٘ ٝ‬ؿ قٕبضقی‬ ‫ٔی س‪ٛ‬اٖ یه ٘‪ٛ‬ؿ ضقش‪ ٝ‬ای ضا ث‪ٛ٘ ٝ‬ؿ قٕبضقی سجسیُ وطز‪ٔ .‬ثال ٔی ذ‪ٛ‬ا‪ٞ‬یس ضقش‪ٝ‬‬
‫‪ٔ Direction.West‬ثبَ ثبال سجسیُ و‪ٙ‬یس‪ .‬ثطای ایٗ وبض ثبیس اظ والؼ‪ ٚ Enum‬فضبی ٘بْ‪ System‬ث‪ ٝ‬ن‪ٛ‬ضر ظیط اؾشفبز‪ ٜ‬و‪ٙ‬یس ‪:‬‬

‫;)"‪Direction myDirection = (Direction)Enum.Parse(typeof(Direction), "West‬‬

‫;))(‪Console.WriteLine("Direction: {0}", myDirection.ToString‬‬


‫‪Direction: West‬‬

‫ٔشس )(‪ Enum.Parse‬زاضای ز‪ ٚ‬دبضأشط اؾز‪ .‬ا‪ِٚ‬یٗ دبضأشط ٘‪ٛ‬ؿ قٕبضقی اؾز‪ .‬ثب اؾشفبز‪ ٜ‬اظ فٍّٕط ‪ٛ٘ typeof‬ؿ قٕبضقی ضا‬
‫ثطٌكز ٔی ز‪ٞ‬یٓ‪ .‬ز‪ٔٚ‬یٗ دبضأشط ‪ ،‬ضقش‪ ٝ‬ای اؾز و‪ ٝ‬لطاض اؾز ث‪ٛ٘ ٝ‬ؿ قٕبضقی سجسیُ ق‪ٛ‬ز ‪ .‬چ‪ٔ ٖٛ‬مساض ثطٌكشی اظ ٘‪ٛ‬ؿ قی‬
‫(‪ )object‬اؾز ث‪ٙ‬بثطایٗ یه سجسیُ ٔ‪ٙ‬بؾت ٘‪ٛ‬ؿ قٕبضقی الظْ اؾز‪ .‬ثب ایٗ خعییبر االٖ ٔی زا٘یٓ و‪ ٝ‬چٍ‪ ٝ٘ٛ‬یه ضقش‪ ٝ‬ضا ث‪ٛ٘ ٝ‬ؿ‬
‫قٕبضقی سجسیُ و‪ٙ‬یٓ‪.‬‬

‫;)‪enumType name = (enumType)Enum.Parse(typeof(enumType), string‬‬

‫اٌط ضقش‪ ٝ‬ای و‪ ٝ‬ث‪ٔ ٝ‬شس اضؾبَ ٔی و‪ٙ‬یس خع آیشٕ‪ٟ‬بی زاز‪ ٜ‬قٕبضقی ٘جبقس ثب ذغب ٔ‪ٛ‬اخ‪ٔ ٝ‬ی ق‪ٛ‬یس‪.‬‬

‫‪153‬‬
www.w3-farsi.com ‫یًَغ اتشاّیوی‬: ِ‫زالیف ٍ زشجو‬ ‫هثاًی صتاى ػی ؿاسج‬

‫ػاخساسّا‬
.‫س‬ٙ‫ ٔشس ثبق‬ٚ ‫س زاضای فیّس‬ٙ٘‫ا‬ٛ‫ ٔی س‬ٚ )user-define(‫٘س‬ٛ‫ؾظ وبضثط سقطیف ٔی ق‬ٛ‫ س‬ٝ‫س و‬ٙ‫ؿش‬ٞ ‫ ای‬ٜ‫اؿ زاز‬ٛ٘‫ ا‬struct ‫ب یب‬ٞ‫ؾبذشبض‬
‫ب ٘بْ قرم ضا‬ٟٙ‫ س‬ٝ٘ ٝ‫یٓ و‬ٙ‫ ای ایدبز و‬ٜ‫یٓ زاز‬ٞ‫ا‬ٛ‫یس ٔی ذ‬ٙ‫ فطو و‬.‫ ای ذیّی ؾفبضقی ایدبز وطز‬ٜ‫ؿ زاز‬ٛ٘ ٖ‫ا‬ٛ‫ب ٔی س‬ٞ‫ثب ؾبذشبض‬
: ٓ‫ی‬ٙ‫ضر ظیط فُٕ ٔی و‬ٛ‫ ن‬ٝ‫ ثطای سقطیف یه ؾبذشبض ث‬.‫س‬ٞ‫ز خبی ز‬ٛ‫ ضا ٘یع زض ذ‬ٚ‫ ا‬ٝ٘‫یب‬ٞ‫ق ٔب‬ٛ‫ حم‬ٚ ٗ‫ ؾ‬ٝ‫س ثّى‬ٙ‫ و‬ٜ‫شذیط‬

struct StructName
{
member1;
member2;
member3;
...
member4;
}

‫ ٔی‬ٜ‫ اؾشفبز‬Pascal‫ـ ٘بٍٔصاضی‬ٚ‫ب اظ ض‬ٞ‫ ثطای ٘بٍٔصاضی ؾبذشبض‬.‫ز‬ٛ‫ ٔی ق‬ٜ‫ اؾشفبز‬struct ‫ وّیسی‬ّٕٝ‫ثطای سقطیف ؾبذشبض اظ و‬
: ‫ اؾز‬ٜ‫ زض ظیط ٔثبِی اظ یه ؾبذشبض آٔس‬.‫س یب ٔشس‬ٙ‫س ٔشغیط ثبق‬ٙ٘‫ا‬ٛ‫) ٔی س‬member1-5( ‫ افضب زض ٔثبَ ثبال‬.‫ز‬ٛ‫ق‬

1 using System;
2
3 public struct Employee
4 {
5 public string name;
6 public int age;
7 public decimal salary;
8 }
9
10 public class Program
11 {
12 public static void Main()
13 {
14 Employee employee1;
15 Employee employee2;
16
17 employee1.name = "Jack";
18 employee1.age = 21;
19 employee1.salary = 1000;
20
21 employee2.name = "Mark";
22 employee2.age = 23;
23 employee2.salary = 800;
24
25 Console.WriteLine("Employee 1 Details");
26 Console.WriteLine("Name: {0}", employee1.name);
27 Console.WriteLine("Age: {0}", employee1.age);
28 Console.WriteLine("Salary: {0:C}", employee1.salary);
29
30 Console.WriteLine(); //Seperator
31

154
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫‪32‬‬ ‫;)"‪Console.WriteLine("Employee 2 Details‬‬


‫‪33‬‬ ‫;)‪Console.WriteLine("Name: {0}", employee2.name‬‬
‫‪34‬‬ ‫;)‪Console.WriteLine("Age: {0}", employee2.age‬‬
‫‪35‬‬ ‫;)‪Console.WriteLine("Salary: {0:C}", employee2.salary‬‬
‫‪36‬‬ ‫}‬
‫} ‪37‬‬
‫‪Employee 1 Details‬‬
‫‪Name: Jack‬‬
‫‪Age: 21‬‬
‫‪Salary: $1000.00‬‬

‫‪Employee 2 Datails‬‬
‫‪Name: Mike‬‬
‫‪Age: 23‬‬
‫‪Salary: $800.00‬‬

‫ثطای زضن ث‪ٟ‬شط‪ ،‬وس ثبال ضا قطح ٔی ز‪ٞ‬یٓ ‪ .‬زض ذغ‪ٛ‬ط ‪ 3-8‬یه ؾبذشبض سقطیف قس‪ ٜ‬اؾز‪ .‬ث‪ ٝ‬وّٕ‪ Public ٝ‬زض ‪ٍٙٞ‬بْ سقطیف‬
‫س‪ٛ‬خ‪ ٝ‬و‪ٙ‬یس‪ .‬ایٗ وّٕ‪ ٝ‬وّیسی ٘كبٖ ٔی ز‪ٞ‬س و‪ Employee ٝ‬زض ‪ٞ‬ط خبی ثط٘بٔ‪ ٝ‬لبثُ زؾشطؾی ‪ ٚ‬اؾشفبز‪ ٜ‬ثبقس ‪ ٚ‬حشی ذبضج اظ‬
‫ثط٘بٔ‪ Public .ٝ‬یىی اظ ؾغ‪ٛ‬ح زؾشطؾی اؾز و‪ ٝ‬س‪ٛ‬ضیحبر ثیكشط زض ٔ‪ٛ‬ضز آٖ زض زضؾ‪ٟ‬بی آی‪ٙ‬س‪ ٜ‬آٔس‪ ٜ‬اؾز‪ .‬لجُ اظ ٘بْ ؾبذشبض‬
‫اظ وّٕ‪ ٝ‬وّیسی ‪ struct‬اؾشفبز‪ٔ ٜ‬ی و‪ٙ‬یٓ‪٘ .‬بْ ؾبذشبض ٘یع اظ ض‪ٚ‬ـ ٘بٍٔصاضی‪ Pascal‬دیط‪ٚ‬ی ٔی و‪ٙ‬س‪ .‬زض زاذُ ثس٘‪ ٝ‬ؾبذشبض ؾ‪ٝ‬‬
‫فیّس سقطیف وطز‪ ٜ‬ایٓ‪ .‬ایٗ ؾ‪ ٝ‬فیّس ٔكرهبر ‪( Employee‬وبضٔ‪ٙ‬س) ٔبٖ ضا ٘كبٖ ٔی ز‪ٙٞ‬س‪.‬‬

‫ٔثال یه وبضٔ‪ٙ‬س زاضای ٘بْ‪ ،‬ؾٗ ‪ ٚ‬حم‪ٛ‬ق ٔب‪ٞ‬ب٘‪ٔ ٝ‬ی ثبقس‪ٕٞ .‬چ‪ٙ‬یٗ ‪ٞ‬ط ؾ‪ ٝ‬فیّس ث‪ ٝ‬ن‪ٛ‬ضر ‪ Public‬سقطیف قس‪ ٜ‬ا٘س ث‪ٙ‬بثطایٗ زض‬
‫ذبضج اظ ؾبذشبض ٘یع ٔی س‪ٛ‬اٖ آ٘‪ٟ‬ب ضا فطاذ‪ٛ‬ا٘ی وطز‪ .‬زض ذغ‪ٛ‬ط‪ 15 ٚ 14‬ز‪ ٕٝ٘ٛ٘ ٚ‬اظ والؼ ‪ Employee‬سقطیف قس‪ ٜ‬اؾز‪ .‬سقطیف‬
‫یه ٕ٘‪ ٝ٘ٛ‬اظ ؾبذشبض‪ٞ‬ب ثؿیبض قجی‪ ٝ‬ث‪ ٝ‬سقطیف یه ٔشغیط ٔقٕ‪ِٛ‬ی اؾز‪ .‬اثشسا ٘‪ٛ‬ؿ ؾبذشبض ‪ ٚ‬ؾذؽ ٘بْ آٖ ضا ٔكرم ٔی و‪ٙ‬یس‪ .‬زض‬
‫ذغ‪ٛ‬ط ‪ 17‬سب ‪ 23‬ث‪ ٝ‬فیّس‪ٞ‬بی ٔطث‪ٛ‬ط ث‪ٞ ٝ‬ط ‪ٔ employee‬مبزیطی اذشهبل ٔی ز‪ٞ‬یس‪ .‬ثطای زؾشطؾی ث‪ ٝ‬فیّس‪ٞ‬ب زض ذبضج اظ‬
‫ؾبذشبض ثبیس آ٘‪ٟ‬ب ضا ث‪ ٝ‬ن‪ٛ‬ضر ‪ Public‬سقطیف و‪ٙ‬یس‪ .‬اثشسا ٘بْ ٔشغیط ضا سبیخ وطز‪ ٚ ٜ‬ؾذؽ فالٔز زار ( ‪ ٚ ) .‬زض آذط ٘بْ فیّس ضا‬
‫ٔی ٘‪ٛ‬یؿیٓ‪ٚ .‬لشی و‪ ٝ‬اظ فٍّٕط زار اؾشفبز‪ٔ ٜ‬ی و‪ٙ‬یٓ ایٗ فٍّٕط اخبظ‪ ٜ‬زؾشطؾی ث‪ ٝ‬افضبی ٔره‪ٛ‬ل آٖ ؾبذشبض یب والؼ ضا ث‪ٝ‬‬
‫قٕب ٔی ز‪ٞ‬س‪ .‬زض ذغ‪ٛ‬ط ‪ 25‬سب ‪٘ 35‬كبٖ زاز‪ ٜ‬قس‪ ٜ‬و‪ ٝ‬قٕب چغ‪ٛ‬ض ٔی س‪ٛ‬ا٘یس ث‪ٔ ٝ‬مبزیط شذیط‪ ٜ‬قس‪ ٜ‬زض ‪ٞ‬ط فیّس ؾبذشبض زؾشطؾی‬
‫یبثیس‪.‬‬

‫ؾبذشبض‪ٞ‬ب ا٘‪ٛ‬اؿ ٔمساضی ‪ٞ‬ؿش‪ٙ‬س‪ .‬ایٗ ثسیٗ ٔق‪ٙ‬ی اؾز و‪ ٝ‬اٌط ٔثال زض ٔثبَ ثبال ‪ employee2‬ضا ثطاثط ‪ employee1‬لطاض ز‪ٞ‬یس‪،‬‬
‫‪ٔ ٕٝٞ employee2‬مبزیط نفبر ‪ employee1‬ضا ث‪ ٝ‬خبی ای‪ٙ‬ى‪ ٝ‬ث‪ ٝ‬آ٘‪ٟ‬ب ٔطاخق‪ ٝ‬و‪ٙ‬س ‪،‬وذی ثطزاضی ٔی و‪ٙ‬س ‪ .‬والؼ یه ؾبذشبض‬
‫ؾبز‪ ٜ‬اؾز ‪ِٚ‬ی اظ ا٘‪ٛ‬اؿ ٔطخـ ث‪ ٝ‬حؿبة ٔی آیس‪ .‬زض ٔ‪ٛ‬ضز والؼ زض زضؾ‪ٟ‬بی آی‪ٙ‬س‪ ٜ‬س‪ٛ‬ضیح ذ‪ٛ‬ا‪ٞ‬یٓ زاز‪ٔ .‬ی س‪ٛ‬اٖ ث‪ ٝ‬ؾبذشبض ‪ٔ ،‬شس‬
‫‪ ٓٞ‬اضبف‪ ٝ‬وطز‪ٔ .‬ثبَ ظیط انالح قس‪ٔ ٜ‬ثبَ لجُ اؾز‪.‬‬

‫‪1‬‬ ‫;‪using System‬‬


‫‪2‬‬
‫‪3‬‬ ‫‪public struct Employee‬‬
‫‪4‬‬ ‫{‬
‫‪5‬‬ ‫;‪public string name‬‬
‫‪6‬‬ ‫;‪public int age‬‬
‫‪7‬‬ ‫;‪public decimal salary‬‬
‫‪8‬‬

‫‪155‬‬
www.w3-farsi.com ‫یًَغ اتشاّیوی‬: ِ‫زالیف ٍ زشجو‬ ‫هثاًی صتاى ػی ؿاسج‬

9 public void SayThanks()


10 {
11 Console.WriteLine("{0} thanked you!", name);
12 }
13 }
14
15 public class Program
16 {
17 public static void Main()
18 {
19 Employee employee1;
20 Employee employee2;
21
22 employee1.name = "Jack";
23 employee1.age = 21;
24 employee1.salary = 1000;
25
26 employee2.name = "Mark";
27 employee2.age = 23;
28 employee2.salary = 800;
29
30 Console.WriteLine("Employee 1 Details");
31 Console.WriteLine("Name: {0}", employee1.name);
32 Console.WriteLine("Age: {0}", employee1.age);
33 Console.WriteLine("Salary: {0:C}", employee1.salary);
34
35 employee1.SayThanks();
36
37 Console.WriteLine(); //Seperator
38
39 Console.WriteLine("Employee 2 Details");
40 Console.WriteLine("Name: {0}", employee2.name);
41 Console.WriteLine("Age: {0}", employee2.age);
42 Console.WriteLine("Salary: {0:C}", employee2.salary);
43
44 employee2.SayThanks();
45 }
46 }
Employee 1 Details
Name: Jack
Age: 21
Salary: $1000.00
Jack thanked you!

Employee 2 Details
Name: Mike
Age: 23
Salary: $800.00
Mike thanked you!

‫ ٔمساض فیّس‬ٚ ‫س‬ٞ‫ ٕ٘بیف ٘كبٖ ٔی ز‬ٝ‫ ایٗ ٔشس یه دیبْ ضا زض نفح‬.‫ اؾز‬ٜ‫ یه ٔشس زض زاذُ ؾبذشبض سقطیف قس‬12 ‫ سب‬9 ‫ط‬ٛ‫زض ذغ‬
ْ‫ ثقس اظ فالٔز زار ٘ب‬ٝ‫ى‬ٙ‫ خبی ای‬ٝ‫ ث‬،‫ا٘ی ٔشس‬ٛ‫ ثطای فطاذ‬.‫س‬ٞ‫ ٘كبٖ ٔی ز‬ٕٝ٘ٛ٘ ‫ط‬ٞ ‫ فطز ثطای‬ٝ‫حهط ث‬ٙٔ ْ‫ یه دیب‬ٚ ٝ‫ ضا ٌطفش‬name

156
‫‪www.w3-farsi.com‬‬ ‫زالیف ٍ زشجوِ ‪:‬یًَغ اتشاّیوی‬ ‫هثاًی صتاى ػی ؿاسج‬

‫فیّس ضا ث‪ٛٙ‬یؿیٓ‪٘ ،‬بْ ٔشس ضا ٘‪ٛ‬قش‪ ٚ ٝ‬ثقس اظ آٖ ‪ٕٞ‬ب٘غ‪ٛ‬ض و‪ ٝ‬زض ٔثبَ ثبال ٔكب‪ٞ‬س‪ٔ ٜ‬ی و‪ٙ‬یس (ذغ‪ٛ‬ط‪ )44 ٚ 35‬دطا٘شع‪ٞ‬ب ضا لطاض ٔی‬
‫ز‪ٞ‬یٓ ‪ ٚ‬زض ن‪ٛ‬ضسی و‪ٔ ٝ‬شس ث‪ ٝ‬آضٌ‪ٔٛ‬بٖ ‪٘ ٓٞ‬یبظ زاقز زض زاذُ دطا٘شع آ٘‪ٟ‬ب ضا ٔی ٘‪ٛ‬یؿیٓ‪.‬‬

‫‪157‬‬

You might also like