Professional Documents
Culture Documents
................................
12 ................................................................................................ هشٍسی تش تشًاهِ ًَیؼی
................................
...........
12 ................................................................ داذ ًر فشین ٍسن ( ) .NET Frameworkچیؼر؟
.......................
................................
13 ................................................................................................ ػی ؿاسج چیؼر؟
Error! Bookmark
................................
not defined. .... ................................................................ ًصة ٍیظٍال ػی ؿاسج
...............................
24................................................................................................ تِ ٍیظٍال ػی ؿاسج 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 ................................................................................................ ػاخساسّا دس تشاتش والػْا
................................
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قبُٔ وشبثرب٘ ٝوالؼ ٔحیظ وبضی) (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ث ٝنٛضر آظاز زض زؾشطؼ اؾز ٔ ٚی سٛا٘یس آٖ ضا اظ ِیٙه ظیط زاّ٘ٛز وٙیس
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یٍبثبیز حدٓ زاضز ٚثطای
.
زاضیس زاّ٘ٛز آٖ یع ث ٝیه ایٙشط٘ز دط ؾطفز
ثقس اظ زاّ٘ٛز فبیُ ،قٕب ثبیس لبزض ث ٝثبظ وطزٖ آٖ زض ٚیٙسٚظ 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 زالیف ٍ زشجوِ :یًَغ اتشاّیوی هثاًی صتاى ػی ؿاسج
ثط٘بٔٚ ٝیػٚاَ اؾشٛزی ٛضا اخطا وطزٙٔ ٚ ٜشؾط ثٕب٘یس سب نفح ٝآٖ ثبضٌصاضی :
قٛز
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 زالیف ٍ زشجوِ :یًَغ اتشاّیوی هثاًی صتاى ػی ؿاسج
ایٗ نفح ٝثط عجك فٙبٚیٗ ذبنی عجم ٝثٙسی قس ٜو ٝزض ٔٛضز آٟ٘ب سٛضیح ذٛاٞیٓ زاز.
ٔ ٛٙثبض ( )1و ٝقبُٔ ٔٞٛٙبی ٔرشّفی ثطای ؾبذز ،سٛؾقٍٟ٘ ،ٝساضی ،ذغبیبثی ٚاخطای ثط٘بٔٞ ٝب اؾز .ثب وّیه ثط ضٚی ٞط ٔٛٙ
زیٍط ٔٞٛٙبی ٚاثؿش ٝث ٝآٖ ؽبٞط ٔی ق٘ٛس .ث ٝایٗ ٘ىش ٝسٛخ ٝوٙیس وٛٙٔ ٝثبض زاضای آیشٓ ٞبی ٔرشّفی اؾز و ٝفمظ زض قطایظ
ذبنی ؽبٞط ٔی ق٘ٛس .ث ٝفٛٙاٖ ٔثبَ آیشٓ ٞبی ٔٛٙی Projectزض نٛضسی ٘كبٖ زاز ٜذٛاٙٞس قس و ٝدطٚغ ٜفقبَ ثبقس .زض ظیط
ثطذی اظ ٚیػٌیٟبی ٔٞٛٙب آٔس ٜاؾز :
ٔٛٙ سٛضیح
File قبُٔ زؾشٛضاسی ثطای ؾبذز دطٚغ ٜیب فبیُ ،ثبظ وطزٖ ٚشذیط ٜدطٚغٞ ٜب ٚذطٚج اظ آٟ٘ب ٔی ثبقس
Edit قبُٔ زؾشٛضاسی خٟز ٚیطایف اظ لجیُ وذی وطزٖ ،خبیٍعیٙی ٚدیسا وطزٖ یه ٔٛضز ذبل ٔی ثبقس
View toolbarآیشٕی اضبف ٝوٙیس.
ث ٝقٕب اخبظٔ ٜی زٞس سب دٙدطٞ ٜبی ثیكشطی ثبظ وطز ٚ ٜیب ث ٝآیشٓ ٞبی
Project قبُٔ زؾشٛضاسی زض ٔٛضز دطٚغ ٜای اؾز و ٝقٕب ثط ضٚی آٖ وبض ٔی وٙیس.
25
www.w3-farsi.com زالیف ٍ زشجوِ :یًَغ اتشاّیوی هثاًی صتاى ػی ؿاسج
Debug ث ٝقٕب اخبظ ٜوبٔذبیُ ،اقىبَ ظزایی ٚاخطای ثط٘بٔ ٝضا ٔی زٞس
Data قبُٔ زؾشٛضاسی ثطای اسهبَ ث ٝزیشبثؽ ٞب ٔی ثبقس.
Format قبُٔ زؾشٛضاسی خٟز ٔطست وطزٖ اخعای ٌطافیىی زض ٔحیظ ٌطافیىی ثط٘بٔٔ ٝی ثبقس.
Tools قبُٔ اثعاضٞبی ٔرشّف ،سٙؾیٕبر ... ٚثطای ٚیػٚاَ ؾی قبضح ٚ ٚیػٚاَ اؾشٛزیٔ ٛی ثبقس.
Window ث ٝقٕب اخبظ ٜسٙؾیٕبر ؽبٞطی دٙدطٞ ٜب ضا ٔی زٞس.
Help قبُٔ اعالفبسی زض ٔٛضز ثط٘بٔٚ ٝیػٚاَ اؾشٛزیٔ ٛی ثبقس
The Toolbars
ثطای ایدبز یه دطٚغ ٚ ٜثبظ وطزٖ آٖ اظ ایٗ لؿٕز اؾشفبزٔ ٜی قٛزٕٞ .چٙیٗ اٌط اظ لجُ دطٚغ ٜای ایدبز وطز ٜایس ٔی سٛا٘یس آٖ
ضا زض ٔ Recent Projectsكبٞس ٚ ٜاخطا وٙیس .ثركٟبی ٔٚ ٟٓیػٚاَ ؾی قبضح سٛضیح زاز ٜقس زض ٔٛضز ثركٟبی ثقسی زض
زضؾٟبی آیٙس ٜسٛضیحبر ثیكشطی ذٛاٞیٓ .
زاز
26
www.w3-farsi.com زالیف ٍ زشجوِ :یًَغ اتشاّیوی هثاًی صتاى ػی ؿاسج
27
www.w3-farsi.com زالیف ٍ زشجوِ :یًَغ اتشاّیوی هثاًی صتاى ػی ؿاسج
ٕٞب٘غٛض و ٝزض قىُ ثبال ٘كبٖ زاز ٜقس ٜاؾز ٌعی ٚ Windows Forms Applicationٝٙیه اؾٓ ثطای دطٚغ ٜا٘شربة ٔی
وٙیٓ ٚثط ضٚی زوٕ OK ٝوّیه ٔی وٙیٓ سب نفح ٝظیط ٕ٘بیبٖ :
قٛز
28
www.w3-farsi.com زالیف ٍ زشجوِ :یًَغ اتشاّیوی هثاًی صتاى ػی ؿاسج
ایٗ نفح ٝزض حىٓ یه ٘بحی ٝثطای عطاحی فطْ ٞبی ٚیٙسٚظی قٕب اؾز .فطْ ٞبی ٚیٙسٚظی ضاثغٟبی ٌطافیىی ثیٗ وبضثط ٚ
وبٔذیٛسط ٞؿشٙس ٔ ٚحیظ ٚیٙسٚظ ٕ٘ ٝ٘ٛثبضظی اظ یه ضاثظ ٌطافیىی یب GUIاؾز .قٕب زض ایٗ نفحٔ ٝی سٛا٘یس وٙشطِٟبیی ٔب٘ٙس
زوٕٞ ٝب ،ثطچؿت ٞب .… ٚث ٝفطٔشبٖ اضبف ٝوٙیس .خعییبر ثیكشط زض ٔٛضز فطٟٔبی ٚیٙسٚظی ٚوٙشطِٟب ٚثط٘بٔٛ٘ ٝیؿی قی ٌطا
زض فهُ فطْ ٞبی ٚیٙسٚظی آٔس ٜاؾز .أب سٛنیٔ ٝی قٛز اثشسا ٔجب٘ی ثط٘بٔٛ٘ ٝیؿی ضا ٔغبِق. ٝ
وٙیس
دطٚغ ٚ ٜفبیّٟبی ٔطثٛط ث ٝآٖ ضا ٘كبٖ ٔی زٞس .یه Solutionثط٘بٔ ٝای و ٝسٛؾظ قٕب ؾبذش ٝقس ٜاؾز ضا ٘كبٖ ٔی زٞس.
ٕٔىٗ اؾز ایٗ ثط٘بٔ ٝیه دطٚغ ٜؾبز ٜیب یه دطٚغ ٜچٙس ثركی ثبقس .اٌط Solution Explorerزض نفح ٝقٕب ٕ٘بیف زازٜ
29
www.w3-farsi.com زالیف ٍ زشجوِ :یًَغ اتشاّیوی هثاًی صتاى ػی ؿاسج
ٕ٘ی قٛز ٔی سٛا٘یس اظ ٔؿیط ٚ View > Other Windows > Solution Explorerیب ثب وّیسٞبی ٔیب٘جط Ctrl+Alt+L
آ٘طا ٕ٘بیبٖ وٙیس .اٌط چٙسیٗ دطٚغ ٜزض حبَ اخطا ٞؿشٙس دطٚغ ٜای و ٝثب ذظ ثطخؿش٘ (Bold) ٝكبٖ زاز ٜقس ٜدطٚغ ٜفقبَ ٔی
ثبقس ٍٙٞ ٚبْ اخطای ثط٘بٔ ٝاخطا ٔی قٛز .اٌط ثرٛاٞیس دطٚغ ٜای ضا و ٝفقبَ ٘یؿز اخطا وٙیس ،ثط ضٚی Solution Explorer
وّیه ضاؾز وٙیس ٚؾذؽ ٌعی Set as StartUp Project ٝٙضا ا٘شربة ٕ٘بییس .قىُ ظیط یه Solutionثب ز ٚدطٚغ ٜضا ٘كبٖ
ٔی زٞسٞ .ط دطٚغ ٜقبُٔ فبیّٟب ٚفِٛسضٞبی ٔطثٛط ث ٝذٛز .
اؾز
30
www.w3-farsi.com زالیف ٍ زشجوِ :یًَغ اتشاّیوی هثاًی صتاى ػی ؿاسج
دٙدط ٜذٛال) ، (Propertiesذٛال ٚضٚیسازٞبی ٔرشّف ٞط آیشٓ ا٘شربة قس ٜافٓ اظ فطْ ،فبیُ ،دطٚغ ٚ ٜوٙشطَ ضا ٘كبٖ ٔی
زٞس .اٌط ایٗ دٙدطٔ ٜرفی اؾزٔ ،ی سٛا٘یس اظ ٔؿیط View > Properties Windowیب وّیس ٔیب٘جط F4آ٘طا ؽبٞط وٙیس .زض
ٔٛضز ذٛال زض زضؾٟبی آیٙسٔ ٜفهُ سٛضیح ذٛاٞیٓ زاز .ذبنیز ٞب ٚ ،یػٌیٟب ٚنفبر اقیب ضا ٘كبٖ ٔی زٙٞس .ث ٝفٛٙاٖ ٔثبَ
یه ٔبقیٗ زاضای ذٛانی ٔب٘ٙس ضً٘ ،ؾطفز ،ا٘ساظٔ ٚ ٜسَ اؾز .اٌط یه فطْ یب وٙشطَ ضا زض نفح ٝعطاحی ٚیب یه دطٚغ ٜیب
فبیُ ضا زض SolutionExplorerا٘شربة وٙیس دٙدط ٜذٛال ٔطثٛط ث ٝآٟ٘ب ٕ٘بیف زاز ٜذٛاٞس قس .ایٗ دٙدطٕٞ ٜچٙیٗ زاضای
ضٚیسازٞبی ٔطثٛط ث ٝفطْ یب وٙشطَ ا٘شربة قسٔ ٜی ثبقس .یه ضٚیساز ) (eventاسفبلی اؾز و ٝزض قطایظ ذبنی دیف ٔی آیس
ٔب٘ٙس ٚلشی و ٝثط ضٚی زوٕ (button) ٝوّیه ٚیب ٔشٙی ضا زض زاذُ خقجٔ ٝشٗ ) (text boxانالح ٔی وٙیٓ .وٕج ٛثبوؽ
…)ضا وٝ
) (combo boxقىُ ثبال و ٝثب حطف ٘ Aكبٖ زاز ٜقس ٜاؾز ث ٝقٕب اخبظٔ ٜی زٞس و ٝقی ٔٛضز ٘ؾطسبٖ (زوٕ ،ٝفطْ ٚ
ٔی ذٛاٞیس ذٛال آ٘طا سغییط زٞیس ا٘شربة وٙیس .ایٗ وبض ظٔب٘ی ٔفیساؾز و ٝوٙشطِٟبی ضٚی فطْ ثؿیبض وٛچه یب ث٘ ٓٞ ٝعزیه
(B).ثطذی اظ ایٗ زوٕٞ ٝب زض قطایظ ذبنی
ثٛز ٚ ٜا٘شربة آٟ٘ب ؾرز ثبقس .زض ظیط وٕج ٛثبوؽ ثبال زوٕٞ ٝبی ٔفیسی لطاض زاض٘س
فقبَ ٔی ق٘ٛس .زوٕ ٝا َٚذبنیز اقیب ضا ثط اؾبؼ زؾشٞ ٝبی ٔرشّفی ٔطست ٔی وٙس .زٔٚیٗ زوٕ ٝذٛال ضا ثط اؾبؼ حطٚف
اِفجب ٔطست ٔی وٙس و ٝدیكٟٙبز ٔی وٙیٓ اظ ایٗ زوٕ ٝثطای زؾشطؾی ؾطیـ ث ٝذبنیز ٔٛضز ٘ؾطسبٖ اؾشفبز ٜوٙیس .ؾٔٛیٗ زوٕٝ
ٚ ٓٞلشی ؽبٞط ٔی قٛز و ٝیه وٙشطَ یب یه فطْ ضا زض ٔحیظ عطاحی ا٘شربة وٙیٓ .ایٗ زوٕ ٝث ٝقٕب اخبظ ٜزؾشطؾی ث ٝذٛال
فطْ ٚیب وٙشطَ ا٘شربة قس ٜضا ٔی زٞس .چٟبضٔیٗ زوٕ ( ٝو ٝث ٝقىُ یه ضفس ٚثطق ٕ٘بیف زاز ٜقس )ٜضٚیسازٞبی فطْ ٚیب وٙشطَ
ا٘شربة قس ٜضا ٔی زٞس .زض دبییٗ قىُ ثبال سٛضیحبر وٛسبٞی زض ٔٛضز ذبنیز ٞب ٚضٚیساز ٞب ٘كبٖ زازٔ ٜی قٛز .ثرف انّی
دٙدط ٜذٛال) (Cقبُٔ ذٛال ٚضٚیسازٞب اؾز .زض ؾش ٖٛؾٕز چخ ٘بْ ضٚیساز یب ذبنیز ٚزض ؾش ٖٛؾٕز ضاؾز ٔمساض آٟ٘ب
آٔس ٜاؾز .زض دبییٗ دٙدط ٜذٛال خقج ٝسٛضیحبر) (Dلطاض زاضز و ٝسٛضیحبسی زضثبض ٜذٛال ٚضٚیسازٞب زض آٖ ٕ٘بیف زازٔ ٜی
قٛز.
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ی ثبقس .
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ؾبیط ٔشسٞب زاضای آوٛالز ٚوسٞبیی زض زاذُ آٟ٘ب ٔی ثبقٙس ٚ ٚلشی وسٞب اخطا ٔی ق٘ٛس ؤ ٝشسٞب ضا
نسا ثع٘یٓٞ .ط ذظ وس زض ؾی قبضح ث ٝیه ؾیٕیى ) ; ( ِٗٛذشٓ ٔی قٛز .اٌط ؾیٕیى ِٗٛزض آذط ذظ فطأٛـ قٛز ثط٘بٔ ٝثب
ذغب ٔٛاخٔ ٝی قٛزٔ .ثبِی اظ یه ذظ وس زض ؾی قبضح ث ٝنٛضر ظیط اؾز :
ایٗ ذظ وس دیغبْ ! 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 زالیف ٍ زشجوِ :یًَغ اتشاّیوی هثاًی صتاى ػی ؿاسج
ث ٝؾیٕیى ِٗٛآذط ذظ ا َٚسٛخ ٝوٙیس .ثط٘بٔ ٝثب ذغبی ٘حٛی ٔٛاخٔ ٝی قٛز ،چ ٖٛز ٚذظ وس ٔطثٛط ث ٝیه ثط٘بٔٞ ٝؿشٙس ٚقٕب
فمظ ثبیس یه ؾیٕیى ِٗٛزض آذط آٖ لطاض زٞیسٕٞ .یك ٝث ٝیبز زاقش ٝثبقیس و ٝؾی قبضح ث ٝثعضٌی ٚوٛچىی حطٚف حؿبؼ
اؾز.یقٙی ث ٝعٛض ٔثبَ man ٚ MANزض ؾی قبضح ثب ٓٞفطق زاض٘س .ضقشٞ ٝب ٚسٛضیحبر اظ ایٗ لبفسٔ ٜؿشثٙی ٞؿشٙس و ٝزض
زضؾٟبی آیٙس ٜسٛضید ذٛاٞیٓ زازٔ .ثال وسٞبی ظیط ثب ذغب ٔٛاخٔ ٝی ق٘ٛس ٚاخطا ٕ٘ی ق٘ٛس :
سغییط زض ثعضٌی ٚوٛچىی حطٚف اظ اخطای وسٞب خٌّٛیطی ٔی وٙس .أب وس ظیط وبٔال ثس ٖٚذغب اؾز :
{
;statement1
}
ایٗ وبض ثبفث ٔی قٛز و ٝوس٘ٛیؿی قٕب ثٟشط ث ٝچكٓ ثیبیس ٚسكریم ذغبٞب ضاحز سط ثبقس .یىی اظ ٚیػٌیٟبی ٔ ٟٓؾی قبضح
٘كبٖ زازٖ وسٞب ث ٝنٛضر س ٛضفشٍی اؾز .ثسیٗ ٔقٙی و ٝوسٞب ضا ث ٝنٛضر س ٛضفشٍی اظ ٓٞسفىیه ٔی وٙس ٚایٗ زض ذٛا٘بیی
ثط٘بٔ ٝثؿیبض ٔٛثط اؾز.
ثطای شذیط ٜدطٚغ ٚ ٜثط٘بٔٔ ٝی سٛا٘یس ثٔ ٝؿیط File > Save Allثطٚیس یب اظ وّیسٞبی ٔیب٘جط Ctrl+Shift+Sاؾشفبز ٜوٙیس.
ثطای شذیط ٜیه فبیُ ؾبزٔ ٜی سٛا٘یس ثٔ ٝؿیط ) File > Save (FileNameثطٚیس یب اظ وّیسٞبی ٔیب٘جط Ctrl+Sاؾشفبز ٜوٙیس.
زض toolbarوّیه ثطای ثبظ وطزٖ یه دطٚغ ٜیب ثط٘بٔ ٝاظ ٔٛٙی ٌ Fileعی Open ٝٙضا ا٘شربة ٔی وٙیس یب ثط ضٚی آیىٖٛ
وٙیس .ؾذؽ ثٔ ٝحّی و ٝدطٚغ ٜزض آ٘دب شذیط ٜقسٔ ٜیطٚیس ٚفبیّی ثب دؿ٘ٛس slnیب دطٚغ ٜثب دؿ٘ٛس .csprojضا ثبظ ٔی وٙیس.
43
www.w3-farsi.com زالیف ٍ زشجوِ :یًَغ اتشاّیوی هثاًی صتاى ػی ؿاسج
واهدایل تشًاهِ
لجال یبز شوط قس و ٝوسٞبی ٔب لجُ اظ ایٙى ٝآٟ٘ب ضا اخطا وٙیٓ اثشسا ث ٝظثبٖ ٔیب٘ی ٔبیىطٚؾبفز سطخٕٔ ٝی ق٘ٛس .ثطای وبٔذبیُ
ثط٘بٔ ٝاظ ٔٛٙی ٌ Debugعی Build Solution ٝٙضا ا٘شربة ٔی وٙیس یب زوٕ F6 ٝضا ثط ضٚی نفح ٝوّیس فكبض ٔی زٞیٓ .ایٗ
وبض ٕٝٞدطٚغٞ ٜبی زاذُ solutionضا وبٔذبیُ ٔیىٙس .ثطای وبٔذبیُ یه لؿٕز اظ solutionثٔ Solution Explorer ٝی
ضٚیٓ ٚثط ضٚی آٖ لؿٕز ضاؾز وّیه وطز ٚ ٜاظ ٔٛٙی ثبظ ق٘ٛس ٌعی buildٝٙضا ا٘شربة ٔی وٙیسٔ .ب٘ٙس قىُ :
ظیط
اجشای تشًاهِ
ٚلشی ٔب ثط٘بٔٔ ٝبٖ ضا اخطا ٔی وٙیٓ ؾی قبضح ث ٝنٛضر اسٔٛبسیه وسٞبی ٔب ضا ث ٝظثبٖ ٔیب٘ی ٔبیىطٚؾبفز وبٔذبیُ ٔی وٙس.زٚ
ضا ٜثطای اخطای ثط٘بٔٚ ٝخٛز زاضز :
44
www.w3-farsi.com زالیف ٍ زشجوِ :یًَغ اتشاّیوی هثاًی صتاى ػی ؿاسج
اخطای ثس ٖٚاقىبَ ظزایی ثط٘بٔ ،ٝذغبٞبی ثط٘بٔ ٝضا ٘بزیسٔ ٜی ٌیطز .ثب اخطای ثط٘بٔ ٝزض حبِز Non-Debugؾطیقب ثط٘بٔ ٝاخطا
ٔی قٛز ٚقٕب ثب ظزٖ یه زوٕ ٝاظ ثط٘بٔ ٝذبضج ٔی قٛیس .زض حبِز دیف فطو حبِزٔ Non-Debugرفی اؾز ٚثطای اؾشفبزٜ
اظ آٖ ٔی سٛاٖ اظ ٔٛٙیٌ Debugعی Start Without Debuging ٝٙضا ا٘شربة وطز یب اظ زوٕٞ ٝبی سطویجی Crl + F5اؾشفبزٜ
ٕ٘ٛز:
ث ٝایٗ ٘ىش ٝسٛخ ٝوٙیس و ٝدیغبْ … 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ثٛٙیؿیس.
ِ 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 ٘بْ دطٚغ ٜای و ٝزاضای ذغبؾز.
اٌط ثط٘بٔ ٝقٕب زاضای ذغب ثبقس ٚآٖ ضا اخطا وٙیس ثب دٙدط ٜظیط ضٚثطٔ ٚی :
قٛیس
زض دبیبٖ زؾشٛض فالٔز ؾیٕیىبٖ (;) لطاض ٘سازٜ اضبف ٝوطزٖ یه
; 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
ٍ٘طاٖ یبزٌیطی وّٕبر ث ٝوبض ضفش ٝزض خس َٚثبال ٘جبقیس چ ٖٛسٛضیح آٟ٘ب زض زضؾٟبی آیٙس ٜآٔس ٜاؾز.
زَضیحاذ
ٚلشی و ٝوسی سبیخ ٔی وٙیس قبیس ثرٛاٞیس ؤ ٝشٙی خٟز یبزآٚضی ٚؽیف ٝآٖ وس ث ٝآٖ اضبف ٝوٙیس .زض ؾی قبضح ( ٚثیكشط
ظثبٟ٘بی ثط٘بٔٛ٘ ٝیؿی) ٔی سٛاٖ ایٗ وبض ضا ثب اؾشفبز ٜاظ سٛضیحبر ا٘دبْ زاز .سٛضیحبر ٔش٘ٛی ٞؿشٙس و ٝسٛؾظ وبٔذبیّط ٘بزیسٜ
ٌطفٔ ٝی ق٘ٛس ٚث ٝفٛٙاٖ ثركی اظ وس ٔحؿٛة ٕ٘ی ق٘ٛسٞ .سف انّی اظ ایدبز سٛضیحبر ذٛا٘بیی ٚسكریم ٘مف وسٞبی
٘ٛقش ٝقس ٜسٛؾظ قٕب ،ثطای زیٍطاٖ اؾز .فطو وٙیس ؤ ٝی ذٛاٞیس زض ٔٛضز یه وس ذبل ،سٛضیح ثسٞیسٔ ،ی سٛا٘یس
سٛضیحبر ضا زض ثبالی وس یب وٙبض آٖ ثٛٙیؿیس.
52
www.w3-farsi.com زالیف ٍ زشجوِ :یًَغ اتشاّیوی هثاًی صتاى ػی ؿاسج
اظ سٛضیحبر ثطای ٔؿشٙس ؾبظی ثط٘بٔ ٓٞ ٝاؾشفبزٔ ٜی قٛز .زض ثط٘بٔ ٝظیط ٘مف سٛضیحبر ٘كبٖ زاز ٜقس ٜاؾز :
زض ذظ 7یه سٛضیح ؾبز( ٜسه ذغی) ٘كبٖ زاز ٜقس ٜاؾز .سٛضحبر ثط زٛ٘ ٚفٙس ،سٛضیحبر سه ذغی ٚسٛضیحبر چٙس
ذغی :
/* 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() ٝزاضز ثب ایٗ سفبٚر و٘ ٝكبٖ ٌط ٔٛؼ ضا زض ٕٞبٖ ذظ ٍ٘ٔ ٝی زاضز ٚذظ خسیس
ایدبز ٕ٘ی وٙس .خس َٚظیط ِیؿز وبضاوشطٞبی وٙشطِی ٚوبضوطز آٟ٘ب ضا ٘كبٖ ٔی زٞس :
ٔب ثطای اؾشفبز ٜاظ وبضاوشطٞبی وٙشطِی اظ ثه اؾّف\() اؾشفبزٔ ٜی وٙیٓ .اظ آ٘دبییىٔ \ ٝقٙبی ذبنی ث ٝضقشٞ ٝب ٔی زٞس ثطای
چبح ثه اؾّف (\) ثبیس اظ (\\) اؾشفبز ٜوٙیٓ :
یىی اظ ٔٛاضز اؾشفبز ٜاظ\\ ٘،كبٖ زازٖ ٔؿیط یه فبیُ زض ٚیٙسٚظ اؾز :
اظ آ٘دبییى ٝاظ زاثُ وٛسیكٗ (") ثطای ٘كبٖ زازٖ ضقشٞ ٝب اؾشفبزٔ ٜی وٙیٓ ثطای چبح آٖ اظ"\ اؾشفبزٔ ٜی وٙیٓ :
54
www.w3-farsi.com زالیف ٍ زشجوِ :یًَغ اتشاّیوی هثاًی صتاى ػی ؿاسج
ٕٞچٙیٗ ثطای چبح وٛسیكٗ („) اظ‟\ اؾشفبزٔ ٜی وٙیٓ :
ثطای ایدبز فبنّ ٝثیٗ حطٚف یب وّٕبر اظ \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 زالیف ٍ زشجوِ :یًَغ اتشاّیوی هثاًی صتاى ػی ؿاسج
ایٗ وبض ثبفث ثٚ ٝخٛز آٔسٖ ذغبی وبٔذبیّطی قس ٚ ٜچ ٖٛوبٔذبیّط فىط ٔی وٙس و ٝقٕب ٔی ذٛاٞیس یه وبضاوشط وٙشطِی ضا سبیخ
وٙیس ،وبضاوشط ثقس اظ فالٔز \ ضا دطزاظـ ٔی وٙس ٚچ ٖٛوبضاوشط وٙشطِی ٚخٛز ٘ساضز ذغب ثٚ ٝخٛز ٔی آیس .ثٔ ٝثبَ ظیط سٛخٝ
وٙیس :
ثب ٚخٛزیى ٝثٟشط اؾز زض ٔثبَ ثبال اظ اؾّف ( ) /زض cat/dogاؾشفبز ٜقٛز ِٚی فٕسا اظ ثه اؾّف ( \ ) ثطای اثجبر ٌفش ٝثبال
\dلبثُ سكریم ٘یؿز ،چ ٖٛچٙیٗ وبضاوشط
اؾشفبز ٜوطز ٜایٓ .وبٔذبیّط ذغب ایدبز ٔی وٙس ٚث ٝقٕب ٔی ٌٛیس و ٝوبضاوشط وٙشطِی
وٙشطِی ٚخٛز ٘ساضز .ظٔب٘ی ٚضقیز ثسسط ذٛاٞس قس و ٝوبضاوشط ثقس اظ ثه اؾّف وبضاوشطی ثبقس و ٓٞ ٝخع یه وّٕ ٝثبقس ٓٞ ٚ
خع وبضاوشطٞبی وٙشطِی .ثٔ ٝثبَ ظیط سٛخ ٝوٙیس :
اؾشفبز ٜاظ فالٔز @ ظٔب٘ی ٔٙبؾت اؾز و ٝقٕب ٕ٘ی ذٛاٞیس اظ فالٔز ثه اؾّف ثطای ٘كبٖ زازٖ یه وبضوشط وٙشطِی اؾشفبزٜ
وٙیس .اؾشفبز ٜاظ ایٗ فالٔز ثؿیبض ؾبز ٜاؾز ٚوبفی اؾز و ٝلجُ اظ ضقشٛٔ ٝضز ٘ؾط آٖ ضا لطاض زٞیس.
اظ فالٔز @ ٔقٕٛال ظٔب٘ی اؾشفبزٔ ٜی قٛز و ٝقٕب ثرٛاٞیس ٔؿیط یه زایطوشٛضی ضا ث ٝفٛٙاٖ ضقش ٝزاقش ٝثبقیس .چٖٛ
@ ث ٝخبی زاثُ ثه اؾّف (\\) ثٟشط اؾز.
زایطوشٛضی ٞب زاضای سقساز ظیبزی ثه اؾّف ٞؿشٙس ٚعجیقشب اؾشفبز ٜاظ فالٔز
;)"System.Console.WriteLine(@"C:\Some Directory\SomeFile.txt
C:\Some Directory\SomeFile.txt
اٌط ثرٛاٞیس یه زاثُ وٛسیكٗ چبح وٙیس ث ٝؾبزٌی ٔی سٛا٘یس اظ ز ٚزاثُ وٛسیكٗ اؾشفبز ٜوٙیس.
اظ ث ٝوبض ثطزٖ فالٔز @ ٚوبضاوشطٞبی وٙشطِی ث ٝعٛض ٕٞعٔبٖ ذٛززاضی وٙیس چ ٖٛثبفث چبح وبضاوشط وٙشطِی زض ذطٚخی ٔی
قٛز.
56
www.w3-farsi.com زالیف ٍ زشجوِ :یًَغ اتشاّیوی هثاًی صتاى ػی ؿاسج
یىی زیٍط اظ ٔٛاضز اؾشفبز ٜاظ فالٔز @ چبح ضقشٞ ٝبی چٙس ذغی ثس ٖٚاؾشفبز ٜاظ وبضاوشط وٙشطِی \nاؾز .ث ٝفٛٙاٖ ٔثبَ
ثطای چبح دیغبْ ظیط :
یىی اظ ضاٞ ٜبی چبح خّٕ ٝثبال ث ٝنٛضر ظیط اؾز :
ث٘ ٝح ٜٛاؾشفبز ٜاظ \nزض آذط ٞط خّٕ ٝسٛخ ٝوٙیس .ایٗ وبضاوشط ٕٞب٘غٛض و ٝلجال ٔكبٞس ٜوطزیس ذظ خسیس ایدبز ٔی وٙس ٚزض
ٔثبَ ثبال ثبفث ٔی قٛز و ٝخّٕ ٝث ٝچٙس ذظ سمؿیٓ قٛز .اظ فالٔز ٓٞ +ثطای سطویت ضقشٞ ٝب اؾشفبزٔ ٜی قٛز .ضا ٜزیٍط ثطای
ٕ٘بیف ٔثبَ ثبال زض چٙسیٗ ذظ اؾشفبز ٜاظ فالٔز@ اؾز
هسغیشّا
ٔشغیط ٔىب٘ی اظ حبفؾ ٝاؾز و ٝقٕب ٔی سٛا٘یس ٔمبزیطی ضا زض آٖ شذیط ٜوٙیسٔ .ی سٛاٖ آٖ ضا ث ٝفٛٙاٖ یه ؽطف سهٛض وطز وٝ
زازٞ ٜبی ذٛز ضا زض آٖ لطاض زاز ٜایسٔ .حشٛیبر ایٗ ؽطف ٔی سٛا٘س دبن قٛز یب سغییط وٙسٞ .ط ٔشغیط زاضای یه ٘بْ ٘یع ٞؿز.و ٝاظ
عطیك آٖ ٔی سٛاٖ ٔشغیط ضا اظ زیٍط ٔشغیط ٞب سكریم زاز ٚثٔ ٝمساض آٖ زؾشطؾی دیسا وطزٕٞ .چٙیٗ زاضای یه ٔمساض ٔی ثبقس
ؤ ٝی سٛا٘س سٛؾظ وبضثط ا٘شربة قس ٜثبقس یب ٘شید ٝیه ٔحبؾج ٝثبقسٔ .مساض ٔشغیط ٔی سٛا٘س سٟی ٘یع ثبقسٔ.شغیط زاضای ٘ٛؿ ٘یع
ٞؿز ثسیٗ ٔقٙی وٛ٘ ٝؿ آٖ ثب ٘ٛؿ زاز ٜای و ٝزض آٖ شذیطٔ ٜی قٛز یىی اؾزٔ .شغیط زاضای فٕط ٘یع ٞؿز و ٝاظ ضٚی آٖ ٔی
سٛاٖ سكریم زاز ؤ ٝشغیط ثبیس چمسض زض ع َٛثط٘بٔٛٔ ٝضز اؾشفبز ٜلطاض ٌیطز ٚ .زض ٟ٘بیز ٔشغیط زاضای ٔحسٚز ٜاؾشفبز٘ ٜیع
ٞؿز و ٝث ٝقٕب ٔی ٌٛیس ؤ ٝشغیط زض چ ٝخبی ثط٘بٔ ٝثطای قٕب لبثُ زؾشطؾی اؾزٔ .ب اظ ٔشغیطٞب ث ٝفٛٙاٖ یه ا٘جبض ٔٛلشی
ثطای شذیط ٜزاز ٜاؾشفبزٔ ٜی وٙیٍٓٙٞ .بٔی و ٝیه ثط٘بٔ ٝایدبز ٔی وٙیٓ احشیبج ث ٝیه ٔىبٖ ثطای شذیط ٜزازٔ، ٜمبزیط یب زازٜ
ٞبیی و ٝسٛؾظ وبضثط ٚاضز ٔی ق٘ٛس زاضیٓ .ایٗ ٔىبٖ ٕٞبٖ ٔشغیط اؾز .ثطای ایٗ اظ ؤّٕ ٝشغیط اؾشفبزٔ ٜی قٛز چٔ ٖٛب ٔی
سٛا٘یٓ ثؿش ٝثٛ٘ ٝؿ قطایظ ٞط خب و ٝالظْ ثبقس ٔمساض آٖ ضا سغییط زٞیٓٔ .شغیطٞب ٔٛلشی ٞؿشٙس ٚفمظ ٔٛلقی ٔٛضز اؾشفبز ٜلطاض
57
www.w3-farsi.com زالیف ٍ زشجوِ :یًَغ اتشاّیوی هثاًی صتاى ػی ؿاسج
ٔی ٌیط٘س و ٝثط٘بٔ ٝزض حبَ اخطاؾز ٚ ٚلشی قٕب ثط٘بٔ ٝضا ٔی ثٙسیس ٔحشٛیبر ٔشغیط ٞب ٘یع دبن ٔی قٛز .لجال شوط قس و ٝثٝ
ٚؾیّ٘ ٝبْ ٔشغیط ٔی سٛاٖ ث ٝآٖ زؾشطؾی دیسا وطز.
ٕ٘ی سٛاٖ اظ وّٕبر ضظض ٚقس ٜزض ؾی قبضح ثطای ٘بْ ٔشغیط اؾشفبز ٜوطز.
اؾبٔی ٔشغیطٞب ٘ؿجز ث ٝثعضٌی ٚوٛچىی حطٚف حؿبؼ ٞؿشٙس .زض ؾی قبضح ز ٚحطف ٔب٘ٙس 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
uint 0سب4294967295
-9223372036854775808سب
long
922337203685477807
ulong 0سب18446744073709551615
ث ٝحطف uزض اثشسای ثطذی اظ ا٘ٛاؿ زازٞ ٜب ٔثال ushortسٛخ ٝوٙیس .ایٗ ثساٖ ٔقٙبؾز و ٝایٗ ٘ٛؿ فمظ قبُٔ افساز ٔثجز ٚنفط
ٞؿشٙس .خس َٚظیط ا٘ٛافی ؤ ٝمبزیط ثب ٕٔیع افكبض ضا ٔی سٛا٘ٙس زض ذٛز شذیط ٜوٙٙس ضا ٘كبٖ ٔی زٞس :
decimal ) (-7.9 x 1028) / (100 to 28سب )(7.9 x 1028) / (100 to 28 28 – 29ضلٓ ٔقٙبزاض
ثطای ث ٝذبعط ؾذطزٖ آٟ٘ب ثبیس اظ ٕ٘بز فّٕی اؾشفبز ٜقٛزٛ٘ .ؿ زیٍطی اظ ا٘ٛاؿ ؾبز ٜثطای شذیط ٜزازٞ ٜبی غیط فسزی ث ٝوبض ٔی
ض٘ٚس ٚزض خس َٚظیط ٕ٘بیف زاز ٜقس ٜا٘س :
)‟.(„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یع ٘بْ ٔشغیط اؾز و ٝثٔ ٝب أىبٖ اؾشفبز ٚ ٜزؾشطؾی
ثٔ ٝمساض ٔشغیط ضا ٔی زٞس .ثطای سقطیف چٙس ٔشغیط اظ یه ٘ٛؿ ٔی سٛاٖ ث ٝنٛضر ظیط فُٕ وطز :
ٔثبَ
زض ٔثبَ ثبال ٔ 5شغیط اظ ٘ٛؿ نحیح ٔ 3ٚشغیط اظ ٘ٛؿ ضقش ٝسقطیف قس ٜاؾز .سٛخ ٝزاقش ٝثبقیس و ٝثیٗ ٔشغیط ٞب ثبیس فالٔز وبٔب
( ) ,ثبقس.
ًاهگزاسی هسغیشّا
٘بْ ٔشغیط ثبیس ثب یه حطف یب ظیطذظ ٚث ٝز٘جبَ آٖ حطف یب فسز قطٚؿ قٛز.
ٕ٘ی سٛاٖ اظ وبضاوشطٞبی ذبل ٔب٘ٙس& #, %,یب فسز ثطای قطٚؿ ٘بْ ٔشغیط اؾشفبز ٜوطز ٔب٘ٙس. 2numbers
61
www.w3-farsi.com زالیف ٍ زشجوِ :یًَغ اتشاّیوی هثاًی صتاى ػی ؿاسج
٘بْ ٔشغیط ٘جبیس زاضای فبنّ ٝثبقس .ثطای ٘بْ ٞبی چٙس حطفی ٔیشٛاٖ ث ٝخبی فبنّ ٝاظ فالٔز ظیطذظ_یباؾشفبز ٜوطز.
اٌط ث٘ ٝبٟٔبی ٔدبظ زض ٔثبَ ثبال سٛخ ٝوٙیس ٔشٛخ ٝلطاضزازٞبی ث ٝوبض ضفش ٝزض ٘بٍٔصاضی آٟ٘ب ذٛاٞیس قس.یىی اظ ضٚقٟبی
٘بٍٔصاضی٘،بٍٔصاضی وٞٛبٖ قشطی اؾز .زض ایٗ ضٚـ و ٝثطای ٔشغیطٞبی ز ٚوّٕ ٝای ث ٝوبض ٔی ضٚز،اِٚیٗ حطف اِٚیٗ وّٕ ٝثب
حطف وٛچه ٚاِٚیٗ حطف زٔٚیٗ وّٕ ٝثب حطف ثعضي ٕ٘بیف زازٔ ٜی قٛز ٔب٘ٙس . myNumber :سٛخ ٝوٙیس و ٝاِٚیٗ حطف
وّٕ Number ٝثب حطف ثعضي قطٚؿ قس ٜاؾزٔ .ثبَ زیٍط وّٕ numberOfStudents ٝاؾز.اٌط سٛخ ٝوٙیس ثقس اظ اِٚیٗ
وّٕ ٝحطف ا َٚؾبیط وّٕبر ثب حطٚف ثعضي ٕ٘بیف زاز ٜقس ٜاؾز.
هحذٍدُ هسغیش
ٔشغیطٞب ٔثبَ ثبال زض زاذُ ٔشس Mainسقطیف قس ٜا٘س .زض ٘شید ٝایٗ ٔشغیطٞب فمظ زض زاذُ ٔشس Mainلبثُ زؾشطؾی ٞؿشٙس.
ٔحسٚز ٜیه ٔشغیط ٔكرم ٔی وٙس ؤ ٝشغیط زض ودبی وس لبثُ زؾشطؾی اؾزٍٙٞ .بٔیى ٝثط٘بٔ ٝث ٝدبیبٖ ٔشسٔ Mainی ضؾس
ٔشغیطٞب اظ ٔحسٚز ٜذبضج ٚثس ٖٚاؾشفبزٔ ٜی ق٘ٛس سب ظٔب٘ی و ٝثط٘بٔ ٝزض حبَ اخطاؾزٔ .حسٚزٔ ٜشغیطٞب ا٘ٛافی زاضز و ٝزض
زضؾٟبی ثقسی ثب آٟ٘ب آقٙب ٔی قٛیس .سكریم ٔحسٚزٔ ٜشغیط ثؿیبض ٔ ٟٓاؾز چ ٖٛثٚ ٝؾیّ ٝآٖ ٔی فٕٟیس و ٝزض ودبی وس ٔی
سٛاٖ اظ ٔشغیط اؾشفبز ٜوطز .ثبیس یبز آٚض قس و ٝزٔ ٚشغیط زض یه ٔحسٚزٕ٘ ٜی سٛا٘ٙس زاضای ٘بْ یىؿبٖ ثبقٙسٔ .ثال وس ظیط زض
ثط٘بٔ ٝایدبز ذغب ٔی وٙس :
;int num1
;int num1
اظ آ٘دبییى ٝؾی قبضح ث ٝثعضٌی ٚوٛچه ثٛزٖ حطٚف حؿبؼ اؾز ٔی سٛاٖ اظ ایٗ ذبنیز ثطای سقطیف چٙس ٔشغیط ٘ ٓٞبْ ِٚی
ثب حطٚف ٔشفبٚر(اظ ِحبػ ثعضٌی ٚوٛچىی) ثطای سقطیف چٙس ٔشغیط اظ یه ٘ٛؿ اؾشفبز ٜوطز ٔب٘ٙس :
62
www.w3-farsi.com زالیف ٍ زشجوِ :یًَغ اتشاّیوی هثاًی صتاى ػی ؿاسج
;int num1
;int Num1
;int NUM1
همذاسدّی هسغیشّا
ٔی سٛاٖ فٛضا ثقس اظ سقطیف ٔشغیطٞب ٔمبزیطی ضا ث ٝآٟ٘ب اذشهبل زاز.ایٗ فُٕ ضا ٔمساضزٞی ٔی ٘بٔٙس .زض ظیط ٘حٔ ٜٛمساض زٞی
ٔشغیط ٞب ٘كبٖ زاز ٜقس ٜاؾز :
ٕٞچٙیٗ ٔی سٛاٖ چٙسیٗ ٔشغیط ضا فمظ ثب ٌصاقشٗ وبٔب ثیٗ آٟ٘ب ث ٝؾبزٌی ٔمساض زٞی وطز :
سقطیف ٔشغیط ثب ٔمساض زٞی ٔشغیطٞب ٔشفبٚر اؾز .سقطیف ٔشغیط یقٙی ا٘شربة ٘ٛؿ ٘ ٚبْ ثطای ٔشغیطِٚ ،ی ٔمساض زٞی یقٙی
اذشهبل یه ٔمساض ثٔ ٝشغیط.
زض ظیط ٘ح ٜٛاذشهبل ٔمبزیط ثٔ ٝشغیطٞب ٘كبٖ زاز ٜقس ٜاؾز:
;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اؾشفبز ٜوطزٔ .قٕٛال ٘بْ ثبثز ٞب ضا
عجك لطاضزاز ثب حطٚف ثعضي ٔی ٘ٛیؿٙس سب سكریم آٟ٘ب زض ثط٘بٔ ٝضاحز ثبقس٘ .ح ٜٛسقطیف ثبثز زض ظیط آٔس ٜاؾز :
ٔثبَ :
class Program
{
)(public static void Main
{
;const int NUMBER = 1
65
www.w3-farsi.com زالیف ٍ زشجوِ :یًَغ اتشاّیوی هثاًی صتاى ػی ؿاسج
زض ایٗ ٔثبَ ٔی ثیٙیس ؤ ٝمساض زازٖ ث ٝیه ثبثز ،و ٝلجال ٔمساض زٞی قس ٜثط٘بٔ ٝضا ثب ذغب ٔٛاخٔ ٝی وٙس٘.ىش ٝی زیٍطی وٝ
٘جبیس فطأٛـ قٛز ایٗ اؾز و٘ ٝجبیس ٔمساض ثبثز ضا ثب ٔمساض زیٍط ٔشغیطٞبی سقطیف قس ٜزض ثط٘بٔ ٝثطاثط لطاض زاز.
ٔثبَ :
;int someVariable
constint MY_CONST = someVariable
ٕٔىٗ اؾز ایٗ ؾٛاَ ثطایشبٖ دیف آٔس ٜثبقس و ٝزِیُ اؾشفبز ٜاظ ثبثز ٞب چیؿز؟ اٌط ٔغٕئٗ ٞؿشیس ؤ ٝمبزیطی زض ثط٘بٔٝ
ٚخٛز زاض٘س وٞ ٝطٌع زض ع َٛثط٘بٔ ٝسغییط ٕ٘ی وٙٙس ثٟشط اؾز و ٝآٟ٘ب ضا ث ٝنٛضر ثبثز سقطیف وٙیس.ایٗ وبض ٞط چٙس وٛچه
ویفیز ثط٘بٔ ٝقٕب ضا ثبال ٔی ثطز.
زثذیل ضوٌی
سجسیُ ضٕٙی ٔشغیطٞب یه ٘ٛؿ سجسیُ اؾز و ٝث ٝعٛض ذٛزوبض سٛؾظ وبٔذبیّط ا٘دبْ ٔی قٛز .یه ٔشغیط اظ یه ٘ٛؿ زازٔ ٜی
سٛا٘س ث ٝعٛض ضٕٙی ث ٝیه ٘ٛؿ زیٍط سجسیُ قٛز ث ٝقطعی ؤ ٝمساض آٖ اظ ٔمساض زاز ٜای ؤ ٝی ذٛاٞس ث ٝآٖ سجسیُ قٛز وٕشط
ٔ intمبزیط - ٔ byteی سٛا٘س ٔمبزیط 0سب 255ضا زض ذٛز شذیط ٜوٙس ٛ٘ ٚؿ زاز ٜای ثبقس .ث ٝفٛٙاٖ ٔثبَ ٘ٛؿ زاز ٜای
2147483648سب 2147483647ضا قبُٔ ٔی قٛز .دؽ ٔی سٛا٘یس یه ٔشغیط اظ ٘ٛؿ byteضا ث ٝیه ٘ٛؿ intسجسیُ وٙیس :
زض ٔثبَ ثبال ٔمساض number1ثطاثط 5اؾز زض ٘شیدٔ ٝشغیط number2و ٝیه ٔشغیط اظ ٘ٛؿ نحیح اؾز ٔی سٛا٘س ٔمساض
number1ضا زض ذٛز شذیط ٜوٙس چٛ٘ ٖٛؿ نحیح اظ ٘ٛؿ ثبیز ثعضٌشط اؾز .دؽ ٔشغیط number1و ٝیه ٔشغیط اظ ٘ٛؿ ثبیز
اؾز ٔی سٛا٘س ث ٝعٛض ضٕٙی ث number2ٝو ٝیه ٔشغیط اظ ٘ٛؿ نحیح اؾز سجسیُ قٛز .أب فىؽ ٔثبَ ثبال نبزق ٘یؿز.
زض ایٗ ٔٛضز ٔب ثب ذغب ٔٛاخٔ ٝی قٛیٓ .اٌط چٔ ٝمساض ٔ 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 ؿٛ٘ یهٝضا ث
بٟ٘ط یه اظ آٞ ٝ ٌطچ.سٙؿشٞ ی اظ افسازٟ زاضای عیف ٔكبثٚط زٞ ٖٛ سجسیُ وطز چushort ؿٛ٘ ٝؿ وبضاوشط ضا ثٛ٘ اٖ یهٛٔیش
ٔیٕٝاٖ یه فسز سطخٛٙ فٝ ثushort ؿٛ٘ ٚ اٖ یه وبضاوشطٛٙ فٝ ثchar ؿٛ٘ .٘سٛ ٔی قٕٝؾظ وبٔذبیّط سطخٛر سٚوبٔال ٔشفب
.زٛق
Console.WriteLine(charVar);
Console.WriteLine(shortVar);
c
99
: اؾزَٜ ظیط آٔسٚس زض خسٞا٘س ا٘دبْ زٛی ٔی سٕٙضر ضٛ نٝ وبٔذبیّط ثٝسجسیالسی و
uint، int ؿٛ٘ اظ7 ٔثال فسزٝض ثسا٘یٓ وٛ ثطای ٔثبَ ٔب چغ. اؾزٜؿ زازٛ٘ ٗبْ ثط اٍ٘یع اؾز سقیٟال اثٕٛ ٔقٝ ای زیٍط وٝ٘ىش
.ٓیٙ وٝبی افساز اضبفٟ ا٘شٝبیی ضا ثٞ اؾز؟ ثطای ایٗ وبض ثبیس وبضاوشطulong یبlong،
67
www.w3-farsi.com زالیف ٍ زشجوِ :یًَغ اتشاّیوی هثاًی صتاى ػی ؿاسج
زض حبِز دیكفطو ٚثس ٖٚلطاض زازٖ وبضاوشط زض ا٘شٟبی فسز وبٔذبیّط فسز ضا اظ ٘ٛؿ نحیح ( )intزض ٘ؾط ٔی ٌیطزٕٞ .چٙیٗ زض
حبِز دیكفطو وبٔذبیّط افساز زؾیٕبَ ( )decimalضا افساز doubleزض ٘ؾط ٔی ٌیطز.
قٕب ٔی سٛا٘یس ثطای ٘كبٖ زازٖ افساز افكبضی floatاظ وبضاوشط ٚ Fثطای ٘كبٖ زازٖ افساز زؾیٕبَ اظ وبضاوشط Mاؾشفبز ٜوٙیس.
زثذیل صشیح
سجسیُ نطیح ٘ٛفی سجسیُ اؾز و ٝثط٘بٔ ٝضا ٔدجٛض ٔی وٙس و ٝیه ٘ٛؿ زاز ٜضا ثٛ٘ ٝفی زیٍط سجسیُ وٙس اٌط ایٗ ٘ٛؿ سجسیُ اظ
عطیك سجسیُ ضٕٙی ا٘دبْ ٘كٛز .زض ٍٙٞبْ اؾشفبز ٜاظ ایٗ سجسیُ ثبیس زلز وطز چ ٖٛزض ایٗ ٘ٛؿ سجسیُ ٕٔىٗ اؾز ٔمبزیط انالح
یب حصف ق٘ٛسٔ .ب ٔیشٛا٘یٓ ایٗ فّٕیبر ضا ثب اؾشفبز ٜاظ Castا٘دبْ زٞیٓ Cast .فمظ ٘بْ زیٍط سجسیُ نطیح اؾز ٚزؾشٛض آٖ ثٝ
نٛضر ظیط اؾز :
ٕٞب٘غٛض و ٝلجال ٔكبٞس ٜوطزیس ٘ٛؿ intضا ٘شٛا٘ؿشیٓ ثٛ٘ ٝؿ byteسجسیُ وٙیٓ أب او ٖٛٙثب اؾشفبز ٜاظ فُٕ Castایٗ سجسیُ
ا٘دبْ ذٛاٞس قس :
حبَ اٌط ثط٘بٔ ٝضا اخطا وٙیس ثب ذغب ٔٛاخ٘ ٝرٛاٞیس قسٕٞ .ب٘غٛض و ٝدیكشط اقبض ٜقس ٕٔىٗ اؾز زض ٍٙٞبْ سجسیالر ٔمبزیط
doubleضا ث ٝیه ٘ٛؿ intسجسیُ ٔی وٙیٓ ٔمساض افساز
انّی سغییط وٙٙس .ثطای ٔثبَ ٚلشی و ٝیه فسز ثب ٕٔیع افكبض ٔثال اظ ٘ٛؿ
ثقس اظ ٕٔیع اظ ثیٗ ٔی ض٘ٚس :
)Console.WriteLine(number2
5
68
www.w3-farsi.com زالیف ٍ زشجوِ :یًَغ اتشاّیوی هثاًی صتاى ػی ؿاسج
ذطٚخی وس ثبال فسز 5اؾز چٛ٘ ٖٛؿ زاز ٜایٕ٘ intی سٛا٘س ٔمساض افكبض ثٍیطز .حبِز زیٍط ضا سهٛض وٙیس.اٌط قٕب ثرٛاٞیس یه
ٔشغیط ضا و ٝزاضای ٔمساضی ثیكشط اظ ٔحسٚزٔ ٜشغیط ٔمهس ٞؿز سجسیُ وٙیس چ ٝاسفبلی ٔی افشس؟ ٔب٘ٙس سجسیُ ظیط ؤ ٝی
ذٛاٞیٓ ٔشغیط number1ضا و ٝزاضای ٔمساض 300اؾز ضا ثٛ٘ ٝؿ ثبیز سجسیُ وٙیٓ ؤ ٝحسٚز افساز ثیٗ 0-255ضا دٛقف ٔی
زٞس.
ذطٚخی وس ثبال فسز 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ی قٛز .یه ٔٛضز آٖ ؾطضیع ضیبضی ٘بْ زاضز و ٝزض ٔثبَ
ٔمساض ٔٙبؾت زض زاذُ یه ٔشغیط ثبفث ایدبز یه ؾطضیع (
ظیط ٔكبٞسٔ ٜی وٙیس :
ٌطچ ٝزض ایٗ سجسیُ ٔب زازٞ ٜبیی ضا اظ زؾز ٔی زٞیٕبٔب وبٔذبیّط وس ٔبض ضا لجٔ َٛی وٙس .ثطای ایٙى ٝثط٘بٍٔٙٞ ٝبْ ٚلٛؿ ؾطضیع
دیغبْ ذغب ثسٞس ٔی سٛاٖ اظ وّٕ ٝوّیسی checkedاؾشفبز ٜوطز.
ثط٘بٔ ٝدیغبْ System.OverflowExceptionو ٝث ٝظثبٖ ؾبز٘ ٜكبٖ زٙٞس ٚلٛؿ ذغبؾز .زض ٘شید ٝقٕب ٔی سٛا٘یس اظ اخطای
ثط٘بٔ ٝخٌّٛیطی وٙیس.
69
www.w3-farsi.com یًَغ اتشاّیوی: ِزالیف ٍ زشجو هثاًی صتاى ػی ؿاسج
ٜؿ زیٍط اؾشفبزٛ٘ ٝفی ثٛ٘ اٖ اظ آٖ ثطای سجسیُ ٔمبزیط اظٛ ٔی سٝ زاضای یه والؼ اؾشبسیه اؾز و.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);
70
www.w3-farsi.com زالیف ٍ زشجوِ :یًَغ اتشاّیوی هثاًی صتاى ػی ؿاسج
ٔمساض ٞ valط ٘ٛؿ زاز ٜای ٔی سٛا٘س ثبقس ،أب ثبیس ٔغٕئٗ قس و ٝثٛ٘ ٝؿ زاز ٜای ٔٛضز ٘ؾط سجسیُ قٛز.
ػثاساذ ٍ ػولگشّا
ٔثال :X+Yیه فجبضر اؾز و ٝزض آٖ Y ٚ Xفّٕ٘ٛس ٚفالٔز +فٍّٕط ث ٝحؿبة ٔی آیٙس.
ظثبٟ٘بی ثط٘بٔٛ٘ ٝیؿی خسیس زاضای فٍّٕطٞبیی ٞؿشٙس و ٝاظ اخعاء ٔقٕ َٛظثبٖ ث ٝحؿبة ٔی آیٙس .ؾی قبضح زاضای فٍّٕطٞبی
ٔرشّفی اظ خّٕ ٝفٍّٕطٞبی ضیبضی ،سرهیهی ٔ ،مبیؿ ٝای ٙٔ ،غمی ٚثیشی ٔی ثبقس .اظ فٍّٕطٞبی ؾبز ٜضیبضی ٔی سٛاٖ ثٝ
فٍّٕط خٕـ ٚسفطیك اقبض ٜوطز.
ا٘ٛاؿ ٔرشّف فٍّٕط و ٝزض ایٗ ثرف ٔٛضز ثحث لطاض ٔی ٌیط٘س فجبضسٙس اظ :
فٍّٕطٞبی ضیبضی
فٍّٕطٞبی سرهیهی
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
ٔثبَ ثبال زض اظ ٘ٛؿ فسزی اؾشفبز ٜقس ٜاؾز .أب اؾشفبز ٜاظ فٍّٕطٞبی ضیبضی ثطای ٘ٛؿ ضقش ٝای ٘شیدٔ ٝشفبٚسی زاضزٕٞ.چٙیٗ
زض خٕـ ز ٚوبضاوشط وبٔذبیّط ٔقبزَ فسزی آٟ٘ب ضا ٘كبٖ ٔی زٞس .اٌط اظ فٍّٕط +ثطای ضقشٞ ٝب اؾشفبز ٜوٙیٓ ز ٚضقش ٝضا ثب ٓٞ
سطویت وطز ٚ ٜثٔ ٓٞ ٝی چؿجب٘س .زیٍط فٍّٕطٞبی ؾی قبضح فٍّٕطٞبی وبٞف ٚافعایف ٞؿشٙس.ایٗ فٍّٕطٞب ٔمساض 1ضا اظ
ٔشغیط ٞب وٓ یب ث ٝآٟ٘ب اضبفٔ ٝی وٙٙس .اظ ایٗ ٔشغیط ٞب اغّت زض حّمٞ ٝب اؾشفبزٔ ٜی قٛز :
72
www.w3-farsi.com یًَغ اتشاّیوی: ِزالیف ٍ زشجو هثاًی صتاى ػی ؿاسج
ثیبیس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 = var1 + var2ی ثبقس .ایٗ حبِز وس٘ٛیؿی ظٔب٘ی وبضایی ذٛز
ضا ٘كبٖ ٔی زٞس و٘ ٝبْ ٔشغیطٞب عٛال٘ی ثبقس .ثط٘بٔ ٝظیط چٍٍ٘ٛی اؾشفبز ٜاظ فٍّٕطٞبی سرهیهی ٚسبثیط آٟ٘ب ضا ثط ٔشغیط ٞب
٘كبٖ ٔی زٞس.
76
www.w3-farsi.com زالیف ٍ زشجوِ :یًَغ اتشاّیوی هثاًی صتاى ػی ؿاسج
;using System
;)"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
زض ثط٘بٔ ٝاظ 3فٍّٕط سرهیهی اؾشفبز ٜقس ٜاؾز .اثشسا یه ٔشغیط ٔ ٚمساض 10ثب اؾشفبز ٜاظ فٍّٕط = ث ٝآٖ اذشهبل زاز ٜقسٜ
اؾز .ؾذؽ ث ٝآٖ ثب اؾشفبز ٜاظ فٍّٕط =ٔ +مساض 10اضبف ٝقس ٜاؾز ٚ.زض آذط ثٚ ٝؾیّ ٝفٍّٕط = -فسز 10اظ آٖ وٓ قس ٜاؾز.
77
www.w3-farsi.com یًَغ اتشاّیوی: ِزالیف ٍ زشجو هثاًی صتاى ػی ؿاسج
using System;
namespace ComparisonOperators
{
class Program
{
static void Main()
{
int num1 = 10;
int num2 = 5;
ؾذؽ ثب.ٓیٞب ٔمبزیطی اذشهبل ٔی زٟ٘ آٝ ثٚ ٜیٓ ضا ایدبز وطزٙ وٝٓ ٔمبیؿٞ یٓ ثبٞاٛ ٔی ذٝ ٔشغیط ضا وٚزض ٔثبَ ثبال اثشسا ز
ٍٝبْ ٔمبیؿٙٞ ٝیس وٙ وٝخٛ سٝ ایٗ ٘ىشٝ ث.ٓیٙ ضا چبح ٔی وٝ ٘شیدٚ ٜ وطزٝٓ ٔمبیؿٞ ب ضا ثبٟ٘ ای آٝ اظ یه فٍّٕط ٔمبیؿٜاؾشفبز
.زٛ قٜ خبی فٍّٕط = ثبیس اؾشفبزٝ ٔشغیط اظ فٍّٕط == ثٚز
78
www.w3-farsi.com زالیف ٍ زشجوِ :یًَغ اتشاّیوی هثاًی صتاى ػی ؿاسج
فٍّٕط = فٍّٕط سرهیهی اؾز ٚزض فجبضسی ٔب٘ٙسٔ x = yمساض yضا زض ث x ٝاذشهبل ٔی زٞس .فٍّٕط == فٍّٕط ٔمبیؿ ٝای
اؾز و ٝزٔ ٚمساض ضا ثب ٔ ٓٞمبیؿٔ ٝی وٙس ٔب٘ٙس ٚ x==yایٙغٛض ذٛا٘سٔ ٜی قٛز xثطاثط اؾز ثب. y
ػولگشّای هٌطمی
فٍّٕطٞبی ٔٙغمی ثط ضٚی فجبضار ٔٙغمی فُٕ ٔی وٙٙس ٘ ٚشید ٝآٟ٘ب ٘یع یه ٔمساض ثِٛی اؾز .اظ ایٗ فٍّٕطٞب اغّت ثطای
قطعٟبی دیچیس ٜاؾشفبزٔ ٜی قٛزٕٞ .ب٘غٛض و ٝلجال یبز ٌطفشیس ٔمبزیط ثِٛی ٔی سٛا٘ٙس falseیب trueثبقٙس .فطو وٙیس وٝ
var3 ٚ var2زٔ ٚمساض ثِٛی ٞؿشٙس.
اٌط ٔمبزیط ز ٚعطف فٍّٕط true ، ANDثبقٙس فٍّٕط ٔ ANDمساض trueضا ثط ٔی ٌطزا٘س .زض غیط ایٙهٛضر اٌط یىی اظ ٔمبزیط
یب ٞط زٚی آٟ٘ب falseثبقٙس ٔمساض falseضا ثط ٔی ٌطزا٘س .زض ظیط خس َٚزضؾشی فٍّٕط٘ ANDكبٖ زاز ٜقس ٜاؾز :
79
www.w3-farsi.com زالیف ٍ زشجوِ :یًَغ اتشاّیوی هثاًی صتاى ػی ؿاسج
ثطای زضن ثٟشط سبثیط فٍّٕط ANDیبز آٚضی ٔی و ٓٙو ٝایٗ فٍّٕط فمظ زض نٛضسی ٔمساض trueضا ٘كبٖ ٔی زٞس وٞ ٝط زٚ
فّٕ٘ٛس ٔمساضقبٖ trueثبقس .زض غیط ایٙهٛضر ٘شید ٝسٕبْ سطویجٟبی ثقسی falseذٛاٞس قس .اؾشفبز ٜاظ فٍّٕط ٔ ANDب٘ٙس
اؾشفبز ٜاظ فٍّٕطٞبی ٔمبیؿ ٝای اؾز .ث ٝفٛٙاٖ ٔثبَ ٘شید ٝفجبضر ظیط زضؾز ( )trueاؾز اٌط ؾٗ ( )ageثعضٌشط اظ ٚ 18
salaryوٛچىشط اظ 1000ثبقس.
فٍّٕط ANDظٔب٘ی وبضأس اؾز ؤ ٝب ثب ٔحسٚز ٜذبنی اظ افساز ؾط ٚوبض زاضیٓٔ .ثال فجبضر 10 <= x <= 100ثسیٗ ٔقٙی
اؾز ؤ x ٝی سٛا٘س ٔمساضی قبُٔ افساز 10سب 100ضا ثٍیطز .حبَ ثطای ا٘شربة افساز ذبضج اظ ایٗ ٔحسٚزٔ ٜی سٛاٖ اظ فٍّٕط
ٔٙغمی ANDث ٝنٛضر ظیط اؾشفبز ٜوطز.
اٌط یىی یب ٞط زٔ ٚمساض ز ٚعطف فٍّٕط ، ORزضؾز ( )trueثبقس،فٍّٕط ٔ ORمساض trueضا ثط ٔی ٌطزا٘س .خس َٚزضؾشی
فٍّٕط ORزض ظیط ٘كبٖ زاز ٜقس ٜاؾز :
زض خس َٚثبال ٔكبٞسٔ ٜی وٙیس و ٝفٍّٕط ORزض نٛضسی ٔمساض falseضا ثط ٔیٍطزا٘س ؤ ٝمبزیط ز ٚعطف آٖ falseثبقٙس .وس
ظیط ضا زض ٘ؾط ثٍیطیس٘ .شید ٝایٗ وس زض نٛضسی زضؾز ( )trueاؾز و ٝضسجٟ٘ ٝبیی زا٘ف آٔٛظ ( ) finalGradeثعضٌشط اظ 75یب یب
ٕ٘طٟ٘ ٜبیی أشحبٖ آٖ 100ثبقس.
ثطذالف ز ٚادطاسٛض AND ٚ ORفٍّٕط ٔٙغمی NOTیه فٍّٕط یٍب٘ی اؾز ٚفمظ ث ٝیه فّٕ٘ٛس ٘یبظ زاضز .ایٗ فٍّٕط یه
ٔمساض یب انغالح ثِٛی ضا ٘فی ٔی وٙسٔ .ثال اٌط فجبضر یب ٔمساض trueثبقس آ٘طا ٚ falseاٌط falseثبقس آ٘طا ٔ trueی وٙس
80
www.w3-farsi.com زالیف ٍ زشجوِ :یًَغ اتشاّیوی هثاًی صتاى ػی ؿاسج
X !X
true false
false true
٘شید ٝوس ظیط زض نٛضسی زضؾز اؾز و( ageٝؾٗ) ثعضٌشط یب ٔؿبٚی٘ 18جبقس.
ػولگشّای تیسی
فٍّٕطٞبی ثیشی ث ٝقٕب اخبظٔ ٜی زٙٞس و ٝقىُ ثبیٙطی ا٘ٛاؿ زازٞ ٜب ضا زؾشىبضی وٙیس .ثطای زضن ثٟشط ایٗ زضؼ سٛنیٔ ٝی
قٛز و ٝقٕب ؾیؿشٓ ثبیٙطی ٘ ٚح ٜٛسجسیُ افساز افكبضی ث ٝثبیٙطی ضا یبز ثٍیطیس.زض ؾیؿشٓ ثبیٙطی (زٚزٚیی) و ٝوبٔذیٛسط اظ آٖ
اؾشفبزٔ ٜی وٙس ٚضقیز ٞط چیع یب ذبٔٛـ اؾز یب ضٚقٗ .ثطای ٘كبٖ زازٖ حبِز ضٚقٗ اظ فسز ٚ 1ثطای ٘كبٖ زازٖ حبِز
ذبٔٛـ اظ فسز 0اؾشفبزٔ ٜی قٛز .ثٙبثطایٗ افساز ثبیٙطی فمظ ٔی سٛا٘ٙس نفط یب یه ثبقٙس.افساز ثبیٙطی ضا افساز زض ٔجٙبیٚ 2
8
زٙٞس ٜثیز اؾز. افساز افكبضی ضا افساز زض ٔجٙبیٔ 10ی ٌٛیٙس .یه ثیز ٘كبٖ زٙٞس ٜیه ضلٓ ثبیٙطی اؾز ٞ ٚط ثبیز ٘كبٖ
ث ٝفٛٙاٖ ٔثبَ ثطای یه زاز ٜاظ ٘ٛؿ intث 32 ٝثیز یب 8ثبیز فضب ثطای شذیط ٜآٖ ٘یبظ زاضیٓ،ایٗ ثسیٗ ٔقٙبؾز و ٝافساز اظ32
ضلٓ 1 ٚ 0ثطای شذیط ٜاؾشفبزٔ ٜی وٙٙس .ثطای ٔثبَ فسزٚ 100لشی ث ٝفٛٙاٖ یه ٔشغیط اظ ٘ٛؿ intشذیطٔ ٜی قٛز زض وبٔذیٛسط
ث ٝنٛضر ظیط ذٛا٘سٔ ٜی قٛز :
000000000000000000000000000001100100
فسز 100زض ٔجٙبی زٔ ٜقبزَ فسز 1100100زض ٔجٙبی 2اؾز.زض ایٙدب 7ضلٓ ؾٕز ضاؾز ٘كبٖ زٙٞس ٜفسز 100زض ٔجٙبی 2
اؾز ٔ ٚبثمی نفطٞبی ؾٕز ضاؾز ثطای دط وطزٖ ثیشٟبیی اؾز و ٝفسز اظ ٘ٛؿ ٘ intیبظ زاضز .ث ٝایٗ ٘ىش ٝسٛخ ٝوٙیس و ٝافساز
ثبیٙطی اظ ؾٕز ضاؾز ث ٝچخ ذٛا٘سٔ ٜی ق٘ٛس .فٍّٕطٞبی ثیشی ؾی قبضح زض خس َٚظیط ٘كبٖ زاز ٜقس ٜا٘س :
81
www.w3-farsi.com زالیف ٍ زشجوِ :یًَغ اتشاّیوی هثاًی صتاى ػی ؿاسج
فٍّٕط ثیشی ٔ ANDب٘ٙس وبضی قجی ٝفٍّٕط ٔٙغمی ANDا٘دبْ ٔی زٞس ثب ایٗ سفبٚر و ٝایٗ فٍّٕط ثط ضٚی ثیشٟب وبض ٔی
وٙس.اٌط ٔمبزیط ز ٚعطف آٖ 1ثبقس ٔمساض 1ضا ثط ٔی ٌطزا٘س ٚاٌط یىی یب ٞط ز ٚعطف آٖ نفط ثبقس ٔمساض نفط ضا ثط ٔی ٌطزا٘س.
خس َٚزضؾشی فٍٕط ثیشی ANDزض ظیط آٔس ٜاؾز:
زض ظیط ٘ح ٜٛاؾشفبز ٜاظ فٍّٕط ثیشی ANDآٔس ٜاؾز :
;)Console.WriteLine(result
1
ٕٞب٘غٛض و ٝزض ٔثبَ ثبال ٔكبٞسٔ ٜی وٙیس ٘شید ٝفّٕىطز فٍّٕط ANDثط ضٚی زٔ ٚمساض 3 ٚ 5فسز یه ٔی قٛز.اخبظ ٜثسٞیس
ثجیٙیٓ و ٝچغٛض ایٗ ٘شید ٝضا ث ٝزؾز ٔی آیس:
5: 00000000000000000000000000000101
3: 00000000000000000000000000000011
------------------------------------
1: 00000000000000000000000000000001
اثشسا ز ٚفسز 3 ٚ 5ثٔ ٝقبزَ ثبیٙطی قبٖ سجسیُ ٔی ق٘ٛس .اظ آ٘دبییىٞ ٝط فسز نحیح ( 32 )intثیز اؾز اظ نفط ثطای دط
ٔ ANDی سٛاٖ فٕٟیس و ٝچطا ٘شید ٝفسز یه ٔی
وطزٖ ثیشٟبی ذبِی اؾشفبزٔ ٜی وٙیٓ .ثب اؾشفبز ٜاظ خس َٚزضؾشی فٍّٕط ثیشی
قٛز.
82
www.w3-farsi.com زالیف ٍ زشجوِ :یًَغ اتشاّیوی هثاًی صتاى ػی ؿاسج
اٌط ٔمبزیط ز ٚعطف فٍّٕط ثیشیٞ ORط ز ٚنفط ثبقٙس ٘شید ٝنفط زض غیط ایٙهٛضر 1ذٛاٞس قس.خس َٚزضؾشی ایٗ فٍّٕط زض
ظیط آٔس ٜاؾز :
٘شید ٝفٍّٕط ثیشی ORزض نٛضسی نفط اؾز و ٝفّٕ٘ٛس ٞبی ز ٚعطف آٖ نفط ثبقٙس.اٌط فمظ یىی اظ ز ٚفّٕ٘ٛس یه ثبقس
٘شید ٝیه ذٛاٞس قس .ثٔ ٝثبَ ظیط سٛخ ٝوٙیس :
;)Console.WriteLine(result
15
ٚلشی و ٝاظ فٍّٕط ثیشی ORثطای زٔ ٚمساض زض ٔثبَ ثبال ( )9 ٚ 7اؾشفبزٔ ٜی وٙیٓ ٘شیدٔ 15 ٝی قٛز.حبَ ثطضؾی ٔی وٙیٓ وٝ
چطا ایٗ ٘شید ٝث ٝزؾز آٔس ٜاؾز؟
7: 00000000000000000000000000000111
9: 00000000000000000000000000001001
-----------------------------------
15:00000000000000000000000000001111
ثب اؾشفبز ٜاظ خس َٚزضؾشی فٍّٕط ثیشی ٔ ORی سٛاٖ ٘شید ٝاؾشفبز ٜاظ ایٗ فٍّٕط ضا سكریم زاز.فسز 1111ثبیٙطی ٔقبزَ
فسز 15نحیح اؾز.
83
www.w3-farsi.com زالیف ٍ زشجوِ :یًَغ اتشاّیوی هثاًی صتاى ػی ؿاسج
زض نٛضسیى ٝفّٕ٘ٛسٞبی ز ٚعطف ایٗ فٍّٕط ٞط ز ٚنفط یب ٞط ز ٚیه ثبقٙس ٘شید ٝنفط زض غیط ایٙهٛضر ٘شید ٝیه ٔی قٛز.زض
ٔثبَ ظیط سبثیط فٍّٕط ثیشی XORضا ثط ضٚی زٔ ٚمساض ٔكبزٔ ٜی وٙیس :
;)Console.WriteLine(result
2
زض ظیط ٔقبزَ ثبیٙطی افساز ثبال (٘ )7 ٚ 5كبٖ زاز ٜقس ٜاؾز.
5: 00000000000000000000000000000101
7: 00000000000000000000000000000111
-----------------------------------
2: 00000000000000000000000000000010
ثب ٍ٘ب ٜوطزٖ ث ٝخس َٚزضؾشی فٍّٕط ثیشیٔ XORی سٛاٖ فٕٟیس و ٝچطا ٘شید ٝفسزٔ 2ی قٛز.
ایٗ فٍّٕط یه فٍّٕط یٍب٘ی اؾز ٚفمظ ث ٝیه فّٕ٘ٛس ٘یبظ زاضز .زض ظیط خس َٚزضؾشی ایٗ فٍّٕط آٔس ٜاؾز:
فٍّٕط ثیشی ٔ NOTمبزیط ثیشٟب ضا ٔقىٛؼ ٔی وٙس .زض ظیط چٍٍ٘ٛی اؾشفبز ٜاظ ایٗ فٍّٕط آٔس ٜاؾز :
;)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ضا ث ٝوبض ثطیس.
ثطای اؾشفبز ٜاظ ؾجه Italicثبیس اظ فٍّٕط ثیشی ٚ ORوس 2اؾشفبز ٜقٛز.
;fontStyle |= 2
ثطای اؾشفبز ٜاظ ؾبیط ؾجه ٞب ٔی سٛاٖ ث ٝضٚـ ٞبی شوط قس ٜزض ثبال فُٕ وطز ٚفمظ وسٞب ضا خبیٍعیٗ وٙیس .اٌط ثرٛاٞیس یه
ؾجه خسیس ایدبز وٙیس و ٝسطویجی اظ چٙس ؾجه ثبقس ٔی سٛا٘یس ث ٝؾبزٌی فٍّٕط ثیشی ORضا زض ثیٗ ٞط ؾجه ف٘ٛز لطاض
زٞیس ٔب٘ٙس ٔثبَ ظیط :
;fontStyle = 1 | 2 | 4 | 8
ایٗ ٘ٛؿ فٍّٕطٞب ث ٝقٕب اخبظٔ ٜی زٙٞس و ٝثیشٟب ضا ث ٝؾٕز چخ یب ضاؾز خب ث ٝخب وٙیس .زٛ٘ ٚؿ فٍّٕط ثیشی سغییط ٔىبٖ ٚخٛز
زاضز وٞ ٝط وساْ ز ٚفّٕ٘ٛس لجٔ َٛی وٙٙس .فّٕ٘ٛس ؾٕز چخ ایٗ فٍّٕطٞب حبِز ثبیٙطی یه ٔمساض ٚفّٕ٘ٛس ؾٕز ضاؾز سقساز
خبث ٝخبیی ثیز ٞب ضا ٘كبٖ ٔی زٞس.
85
www.w3-farsi.com زالیف ٍ زشجوِ :یًَغ اتشاّیوی هثاًی صتاى ػی ؿاسج
ایٗ فٍّٕط ثیشٟبی فّٕ٘ٛس ؾٕز چخ ضا ث ٝسقسازٔ nىبٖ ٔكرم قس ٜسٛؾظ فّٕ٘ٛس ؾٕز ضاؾز ،ث ٝؾٕز چخ ٔٙشمُ ٔی وٙس.
;)Console.WriteLine(result
40
زض ٔثبَ ثبال ٔب ثیشٟبی ٔمساض 10ضا زٔ ٚىبٖ ث ٝؾٕز چخ ٔٙشمُ وطز ٜایٓ ،حبَ ثیبییس سبثیط ایٗ ا٘شمبَ ضا ثطضؾی وٙیٓ :
10: 00000000000000000000000000001010
------------------------------------
40: 00000000000000000000000000101000
ٔكبٞسٔ ٜی وٙیس و ٕٝٞ ٝثیز ٞب ث ٝا٘ساظ ٜزٚ ٚاحس ث ٝؾٕز چخ ٔٙشمُ قس ٜا٘س .زض ایٗ ا٘شمبَ ز ٚنفط اظ نفطٞبی ؾٕز چخ وٓ
ٔی قٛز ٚزض فٛو ز ٚنفط ث ٝؾٕز ضاؾز اضبفٔ ٝی قٛز.
ایٗ فٍّٕط قجی ٝث ٝفٍٕط سغییط ٔىبٖ ث ٝؾٕز چخ اؾز ثب ایٗ سفبٚر و ٝثیز ٞب ضا ث ٝؾٕز ضاؾز خب ث ٝخب ٔی وٙس .ث ٝفٛٙاٖ
ٔثبَ :
;)Console.WriteLine(result
6
ثب اؾشفبز ٜاظ فٍّٕطسغییط ٔىبٖ ث ٝؾٕز ضاؾز ثیز ٞبی ٔمساض 100ضا ث ٝا٘ساظٚ 4 ٜاحس ث ٝؾٕز چخ خب ث ٝخب ٔی وٙیٓ .اخبظٜ
ثسٞیس سبثیط ایٗ خب ث ٝخبیی ضا ٔٛضز ثطضؾی لطاض زٞیٓ :
100: 00000000000000000000000001100100
------------------------------------
6: 00000000000000000000000000000110
ٞط ثیز ث ٝا٘ساظٚ 4 ٜاحس ث ٝؾٕز ضاؾز ٔٙشمُ ٔی قٛز،ثٙبثطایٗ 4ثیز ا َٚؾٕز ضاؾز حصف قس ٚ ٜچٟبض نفط ث ٝؾٕز چخ
اضبفٔ ٝی قٛز.
86
www.w3-farsi.com زالیف ٍ زشجوِ :یًَغ اتشاّیوی هثاًی صتاى ػی ؿاسج
زمذم ػولگشّا
سمسْ فٍّٕطٞب ٔكرم ٔی وٙس و ٝزض ٔحبؾجبسی و ٝثیف اظ ز ٚفّٕ٘ٛس زاض٘س اثشسا وساْ فٍّٕط اثطـ ضا افٕبَ وٙس.فٍّٕط ٞب زض
ؾی قبضح زض ٔحبؾجبر زاضای حك سمسْ ٞؿشٙس.ث ٝفٛٙاٖ ٔثبَ :
;number = 1 + 2 * 3 / 1
سمسْ فٍّٕطٞب
) ++, --, (used as prefixes); +, – (unaryثبالسطیٗ
*, /, %
+, -
>> <<,
=> <, >, <=,
=! ==,
&
^
|
&&
||
==, *=, /=, %=, +=, -
دبییٗ سطیٗ )++, -- (used as suffixes
اثشسا فٍّٕطٞبی ثب ثبالسطیٗ ٚؾذؽ فٍّٕطٞبی ثب دبییٗ سطیٗ حك سمسْ زض ٔحبؾجبر سبثیط ٔی ٌصاض٘س .ث ٝایٗ ٘ىش ٝسٛخ ٝوٙیس وٝ
سمسْ فٍّٕطٞب – ٚ ++ثٔ ٝىبٖ لطاضٌیطی آٟ٘ب ثؿشٍی زاضز ( زض ؾٕز چخ یب ضاؾز فّٕ٘ٛس ثبقٙس) .ث ٝفٛٙاٖ ٔثبَ :
87
www.w3-farsi.com زالیف ٍ زشجوِ :یًَغ اتشاّیوی هثاًی صتاى ػی ؿاسج
زض فجبضر ا َٚاثشسا ثٔ ٝمساض numberیه ٚاحس اضبف ٝقسٔ 4 ٚ ٜی قٛز ٚؾذؽ ٔمساض خسیس ثب فسز 3خٕـ ٔی قٛز ٚزض
ٟ٘بیز فسز 7ث ٝزؾز ٔی آیس .زض فجبضر زٔ ْٚمساض فسزی 3ثٔ ٝمساض numberاضبفٔ ٝی قٛز ٚفسز 6ث ٝزؾز ٔی آیس.ؾذؽ
ایٗ ٔمساض زض ٔشغیط number2لطاض ٔی ٌیطز ٚ .زض ٟ٘بیز ٔمساض numberث 4 ٝافعایف ٔی یبثس .ثطای ایدبز ذٛا٘بیی زض سمسْ
فٍّٕطٞب ٚا٘دبْ ٔحبؾجبسی و ٝزض آٟ٘ب اظ فٍّٕطٞبی ظیبزی اؾشفبزٔ ٜی قٛز اظ دطا٘شع اؾشفبزٔ ٜی وٙیٓ :
زض ٔثبَ ثبال اثشسا ٞط وساْ اظ فجبضاسی و ٝزاذُ دطا٘شع ٞؿشٙس ٔٛضز ٔحبؾج ٝلطاض ٔی ٌیط٘س .ث٘ ٝىش ٝای زض ٔٛضز فجبضسی و ٝزض
زاذُ دطا٘شع ؾ ْٛلطاض زاضز سٛخ ٝوٙیس .زض ایٗ فجبضر اثشسا ٔمساض زاذّی سطیٗ دطا٘شع ٔٛضز ٔحبؾج ٝلطاض ٔی ٌیطز یقٙی ٔمساض6
ضطثسض 7قس ٚ ٜؾذؽ اظ 5وٓ ٔی قٛز.
اٌط ز ٚیب چٙس فٍّٕط ثب حك سمسْ یىؿبٖ ٔٛخٛز ثبقس اثشسا ثبیس ٞط وساْ اظ فٍّٕطٞب ضا و ٝزض اثشسای فجبضر ٔی آیٙس ٔٛضز
اضظیبثی لطاض زٞیس .ث ٝفٛٙاٖ ٔثبَ :
;number = 3 * 2 + 8 / 4
ٞط ز ٚفٍّٕط * / ٚزاضای حك سمسْ یىؿب٘ی ٞؿشٙس .ثٙبثط ایٗ قٕب ثبیس اظ چخ ث ٝضاؾز آٟ٘ب ضا زض ٔحبؾجبر سبثیط زٞیس.یقٙی
اثشسا 3ضا ضطثسض ٔ 2ی وٙیس ٚؾذؽ فسز 8ضا ثط 4سمؿیٓ ٔی وٙیس .زض ٟ٘بیز ٘شید ٝز ٚفجبضر ضا خٕـ وطز ٚ ٜزض ٔشغیط
numberلطاض ٔی زٞیس.
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چٙسٌب٘ٝ
فٍّٕطٞبی ٔٙغمی
زؾشٛض 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ثعضٌشط ثبقس زض نفحٕ٘ ٝبیف ٔی زٞس..
زض ذظ 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ثٛٙیؿیس .وبفیؿز و ٝاظ یه آوٛالز ثطای ٘كبٖ زازٖ اثشسا ٚا٘شٟبی
زؾشٛضار اؾشفبز ٜوٙیس ٕٝٞ .زؾشٛضار زاذُ ثیٗ آوٛالز خع ثس٘ ٝزؾشٛضٞ ifؿشٙس٘ .ح ٜٛسقطیف چٙس زؾشٛض زض زاذُ ثس٘ ifٝثٝ
نٛضر ظیط اؾز :
91
www.w3-farsi.com زالیف ٍ زشجوِ :یًَغ اتشاّیوی هثاًی صتاى ػی ؿاسج
)if(condition
{
;statement1
;statement2
.
.
.
;statementN
}
ٔمساض اظ 10
x زض ٔثبَ ثبال اٌط ٔمساض xاظ 10ثعضٌشط ثبقس ز ٚدیغبْ چبح ٔی قٛز .حبَ اٌط ث ٝفٛٙاٖ ٔثبَ آوٛالز ضا حصف وٙیٓ ٚ
ثعضٌشط ٘جبقس ٔب٘ٙس وس ظیط :
وس ثبال زض نٛضسی ثٟشط ذٛا٘سٔ ٜی قٛز و ٝثیٗ زؾشٛضار فبنّ ٝثٍصاضیٓ.
ٔی ثیٙسیٗ و ٝزؾشٛض ز(ْٚذظ )3زض ٔثبَ ثبال خع زسٛض ٘ ifیؿز .ایٙدبؾز و ٝچٔ ٖٛب فطو ضا ثط ایٗ ٌصاقش ٝایٓ ؤ ٝمساض xاظ
10وٛچىشط اؾز دؽ ذظ )? This is still part of the if statement. (Reallyچبح ٔی قٛز .زض ٘شید ٝإٞیز ٚخٛز
ifزاقشیس ثطای آٖ یه آوٛالز آوٛالز ٔكرم ٔی قٛز .ث ٝفٛٙاٖ سٕطیٗ ٕٞیك ٝحشی اٌط فمظ یه زؾشٛض زض ثس٘ٝ
ثٍصاضیس .فطأٛـ ٘ىٙیس و ٝاظ لّٓ ا٘ساذشٗ یه آوٛالز ثبفث ثٚ ٝخٛز آٔسٖ ذغب قس ٚ ٜیبفشٗ آٖ ضا ؾرز ٔی وٙس .یىی اظ
ذغبٞبی ٔقٕ َٛوؿب٘ی و ٝثط٘بٔٛ٘ ٝیؿی ضا سبظ ٜقطٚؿ وطز ٜا٘س لطاض زازٖ ؾیٕیى ِٗٛزض ؾٕز ضاؾز دطا٘شع ifاؾز .ث ٝفٛٙاٖ
ٔثبَ :
ث ٝیبز زاقش ٝثبقیس و if ٝیه ٔمبیؿ ٝضا ا٘دبْ ٔی زٞس ٚزؾشٛض اخطایی ٘یؿز .ثٙبثطایٗ ثط٘بٔ ٝقٕب ثب یه ذغبی ٔٙغمی ٔٛاخٝ
if
دطا٘شع ثٙٔ ٝعِ ٝایٗ اؾز و ٝثّٛن وس زض ایٙدب ٔی قٛزٕٞ .یك ٝث ٝیبز زاقش ٝثبقیس و ٝلطاض ٌطفشٗ ؾیٕیى ِٗٛزض ؾٕز ضاؾز
ث ٝدبیبٖ ضؾیس ٜاؾزٔ .ثبِی زیٍط زض ٔٛضز زؾشٛض: if
92
www.w3-farsi.com یًَغ اتشاّیوی: ِزالیف ٍ زشجو هثاًی صتاى ػی ؿاسج
using System;
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 زالیف ٍ زشجوِ :یًَغ اتشاّیوی هثاًی صتاى ػی ؿاسج
ٔب اظ فٍّٕطٞبی ٔمبیؿ ٝای زض زؾشٛض ifاؾشفبز ٜوطز ٜایٓ .اثشسا ز ٚفسز و ٝلطاض اؾز ثب ٔ ٓٞمبیؿ ٝق٘ٛس ضا ث ٝفٛٙاٖ ٚضٚزی اظ
وبضثط ٔی ٌیطیٓ .افساز ثب ٔ ٓٞمبیؿٔ ٝی ق٘ٛس ٚاٌط قطط زضؾز ثٛز دیغبٔی چبح ٔی قٛز .ث ٝایٗ ٘ىش ٝسٛخ ٝزاقش ٝثبقیس وٝ
قطعٟب ٔمبزیط ثِٛی ٞؿشٙس ،ثٙبثطایٗ قٕب ٔی سٛا٘یس ٘شید ٝیه فجبضر ضا زض زاذُ یه ٔشغیط ثِٛی شذیط ٜوٙیس ٚؾذؽ اظ ٔشغیط
ث ٝفٛٙاٖ قطط زض زؾشٛض ifاؾشفبز ٜوٙیس.
)if (isNewMillenium
{
;)"!Console.WriteLine("Happy New Millenium
}
اٌط ٔمساض yearثطاثط 2000ثبقس ؾذؽ حبنُ فجبضر زض ٔشغیط isNewMilleniumشذیطٔ ٜی قٛزٔ .ی سٛاٖ اظ ٔشغیط ثطای
سكریم وس اخطایی ثس٘ ٝزؾشٛض ifاؾشفبز ٜوطز ذٛأ ٜمساض ٔشغیط زضؾز ثبقس یب ٘بزضؾز.
دػسَس if...else
زؾشٛض ifفمظ ثطای اخطای یه حبِز ذبل ث ٝوبض ٔی ضٚز یقٙی اٌط حبِشی ثطلطاض ثٛز وبضذبنی ا٘دبْ قٛز.أب ظٔب٘ی و ٝقٕب
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بزضؾز ثبقس.
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 زالیف ٍ زشجوِ :یًَغ اتشاّیوی هثاًی صتاى ػی ؿاسج
فٍّٕط قطعی سٟٙب فٍّٕط ؾ ٝسبیی ؾی قبضح اؾز و٘ ٝیبظ ث ٝؾ ٝفّٕ٘ٛس زاضز ،قطط ،یه ٔمساض ظٔب٘ی و ٝقطط زضؾز ثبقس ٚ
یه ٔمساض ظٔب٘ی و ٝقطط ٘بزضؾز ثبقس.
اخبظ ٜثسٞیس و٘ ٝح ٜٛاؾشفبز ٜایٗ فٍّٕط ضا زض زاذُ ثط٘بٔٛٔ ٝضز ثطضؾی لطاض زٞیٓ.
ثط٘بٔ ٝثبال ٘ح ٜٛاؾشفبز ٜاظ ایٗ فٍّٕط قطعی ضا ٘كبٖ ٔی زٞس .ذظ یه ث ٝنٛضر ظیط سطخٕٔ ٝی قٛز :اٌط ٔمساض pet1ثطاثط ثب
puppyؾذؽ ٔمساض dogضا زض type1لطاض ثس ٜزض غیط ایٗ نٛضر ٔمساض catضا type1لطاض ثس .ٜذظ ز ٚث ٝنٛضر ظیط سطخٕٝ
ٔی قٛز :اٌط ٔمساض pet2ثطاثط ثب kittenؾذؽ ٔمساض catضا زض type2لطاض ثس ٜزض غیط ایٗ نٛضر ٔمساضdog.
ٍٙٞبٔی و ٝچٙسیٗ زؾشٛض زض زاذُ یه ثّٛن 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ضٛبیز زؾشٟ٘ ز زضٛ٘یع اخطا ٘ك
using System;
97
www.w3-farsi.com یًَغ اتشاّیوی: ِزالیف ٍ زشجو هثاًی صتاى ػی ؿاسج
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
98
www.w3-farsi.com یًَغ اتشاّیوی: ِزالیف ٍ زشجو هثاًی صتاى ػی ؿاسج
[2] White
[3] Blue
[4] Red
[5] Yellow
بی ٔرشّفی چبح ٔیٟٔیس دیغبٙ چیعی ا٘شربة ٔی وٝ قٕب چٝىٙ ایٝ ثٝ ثؿش. اؾزٝاثؿشٚ 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.
یس(ذظٛ ٔی قٝاخٛٔ زیٍطif ثب یهٚ ْٜ قسٚ زif ٝ٘اضز ثسٚ ضرٛهٙزض ای، ثبقس20 ؾٗ قٕب وٕشط اظٝیٓ وٙ فطو ٔی وٜثبضٚز
ز زضٛ اخطا ٔی قifٗٔیٛ ؾٝ٘بی اذُ ثسٞ" ثبقس وسmale" ٌط ثطاثطٝضز ثطضؾی لطاض ٔی ٌیطز وٛٔ ؿیز قٕبٙدب خٙ زض ای.)20
100
www.w3-farsi.com زالیف ٍ زشجوِ :یًَغ اتشاّیوی هثاًی صتاى ػی ؿاسج
غیط ایٙهٛضر لؿٕز ٔ elseطثٛط ث ٝایٗ ifاخطا ٔی قٛز(ذظ .)24دیكٟٙبز ٔی قٛز و ٝاظ ifس ٛزض س ٛزض ثط٘بٔ ٝوٕشط اؾشفبزٜ
وٙیس چ ٖٛذٛا٘بیی ثط٘بٔ ٝضا دبییٗ ٔی آٚضز.
فٍّٕطٞبی ٔٙغمی ث ٝقٕب اخبظٔ ٜی زٙٞس و ٝچٙسیٗ قطط ضا ثب ٓٞسطویت وٙیس .ایٗ فٍّٕطٞب حسالُ ز ٚقطط ضا زض ٌیط ٔی
وٙٙس ٚزض آذط یه ٔمساض ثِٛی ضا ثط ٔی ٌطزا٘ٙس.زض خس َٚظیط ثطذی اظ فٍّٕطٞبی ٔٙغمی آٔس ٜاؾز :
ث ٝفٛٙاٖ ٔثبَ خّٕ z = (x > 2) && (y < 10) ٝضا ث ٝایٗ نٛضر ثرٛا٘یس " :زض نٛضسی ٔمساض zثطاثط trueاؾز ؤ ٝمساض x
ثعضٌشط اظ ٔ ٚ 2مساض yوٛچىشط اظ 10ثبقس زض غیط ایٙهٛضر falseاؾز" .ایٗ خّٕ ٝثسیٗ ٔقٙبؾز و ٝثطای ایٙىٔ ٝمساض وُ
زؾشٛض trueثبقس ثبیس ٔمساض ٕٝٞقطٚط trueثبقس.
فٍّٕط ٔٙغمی )||( ORسبثیط ٔشفبٚسی ٘ؿجز ث ٝفٍّٕط ٔٙغمی )&&( ANDزاضز٘ .شید ٝفٍّٕط ٔٙغمی ORثطاثط trueاؾز
٘ trueجبقس ٘شید false ٝذٛاٞس قسٔ .ی سٛاٖ اٌط فمظ ٔمساض یىی اظ قطٚط trueثبقس ٚ .اٌط ٔمساض ٞیچ یه اظ قطٚط
فٍّٕطٞبی ٔٙغمی OR ٚ ANDضا ثب ٓٞسطویت وطز ٚ ٜزض یه فجبضر ث ٝوبض ثطز ٔب٘ٙس :
101
www.w3-farsi.com یًَغ اتشاّیوی: ِزالیف ٍ زشجو هثاًی صتاى ػی ؿاسج
(y > 3) || (z <دب اثشسا فجبضرٙ زض ای.ٓیٙ ٔی وٜب اؾشفبزٟسی قطعٙ ثٜٖٚ اظ آٖ زض ٌطٛٓ اؾز چٟٔ اظ دطا٘شعٜدب اؾشفبزٙزض ای
ٔیٝ( ٔمبیؿx == 1) ٝ ثب ٘شیدAND فٍّٕطّٝؾیٛ آٖ ثٝب) ؾذؽ ٘شیدٞ فّز سمسْ فٍّٕطٝ( ث.ضز ثطضؾی لطاض ٔی ٌیطزٛٔ 10)
: ٓیٞضز ثطضؾی لطاض زٛٔ ضاٝٔغمی زض ثط٘بٙٔ بیٞ اظ فٍّٕطٜ اؾشفبزٜٛ حبَ ثیبییس ٘ح.زٛق
using System;
ٗ ؾٝٔ) ثط٘ب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
}
سفبٚر خعئی ایٗ فٍّٕطٞب ٚلشی و ٝث ٝفٛٙاٖ فٍّٕط ثیشی ث ٝوبض ٔی ض٘ٚس ایٗ اؾز و ٝز ٚفّٕ٘ٛس ضا ثس ٖٚزض ٘ؾط ٌطفشٗ ٔمساض
فّٕ٘ٛس ؾٕز چخ ٔٛضز ثطضؾی لطاض ٔی زٙٞس .ث ٝفٛٙاٖ ٔثبَ حشی اٌط ٔمساض فّٕ٘ٛس ؾٕز چخ falseثبقس فّٕ٘ٛس ؾٕز چخ
ثٚ ٝؾیّ ٝفٍّٕط ثیشی )& ( ANDاضظیبثی ٔی قٛز .اٌط قطعٟب ضا زض ثط٘بٔ ٝسطویت وٙیس اؾشفبز ٜاظ فٍّٕطٞبی ٔٙغمی AND
)&&( OR (||) ٚث ٝخبی فٍّٕطٞبی ثیشی )&( OR (|) ٚ ANDثٟشط ذٛاٞس ثٛز .یىی زیٍط اظ فٍّٕطٞبی ٔٙغمی فٍّٕط
)!( NOTاؾز و٘ ٝشید ٝیه فجبضر ضا ذٙثی یب ٔٙفی ٔی وٙس.ثٔ ٝثبَ ظیط سٛخ ٝوٙیس:
دػسَس 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
قٕب فسز ضا. اؾزٜ قسٜاٖ یه فسز ٘ؿجز زازٛط حیٞ ٓ اؾٝ ث.سٞ سبٖ ضا ٔی زٝضز فاللٛٔ ٖاٛ ا٘شربة حیٜ قٕب اخبظٝ ثبال ثٝٔثط٘ب
بؾتٙٔ ْز دیغبٛ ثطاثط ثٝط وساْ اظ آٖ ٔمبزیط وٞ ثبٚ زٛ ٔی قٝ ٔمبیؿ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ث ٝنٛضر ظیط اؾشفبز ٜوٙیس.
)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 ٝآٔس ٜاؾز :
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
}
حّم 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());
do while اظٜاؾشفبز
do
{
Console.WriteLine("Enter a number greater than 10: ");
number = Convert.ToInt32(Console.ReadLine());
} while (number < 10);
. اؾزٜ قسٜ اؾشفبزwhile ٝ ٘ؿجز ثdo whileٝ٘بی وٕشطی زض ثسٞ اظ وسٝیس وٙ ٔی وٜسٞٔكب
for ِحلم
سٙ فمظ زاضای چٚ سٞ ا٘دبْ ٔی زwhile ٝ حّمٝ ثٝ فّٕی قجیٝایٗ حّم. اؾزfor ٝبی سىطاض حّمٞیىی زیٍط اظ ؾبذشبض
: ضر ظیط اؾزٛ نٝ ثfor ٝ ؾبذشبض حّم.نیز اضبفی اؾزٛذه
110
www.w3-farsi.com زالیف ٍ زشجوِ :یًَغ اتشاّیوی هثاًی صتاى ػی ؿاسج
ٔمساض زٞی اِٚی )initialization ( ٝاِٚیٗ ٔمساضی اؾز و ٝث ٝقٕبض٘س ٜحّمٔ ٝی زٞیٓ .قٕبض٘س ٜفمظ زض زاذُ حّمٝ
forلبثُ زؾشطؾی اؾز.
قطط ( )conditionزض ایٙدب ٔمساض قٕبض٘س ٜضا ثب یه ٔمساض زیٍط ٔمبیؿٔ ٝی وٙس ٚسقییٗ ٔی وٙس و ٝحّم ٝازأ ٝیبثس
یب ٘.ٝ
فٍّٕط ( )operationؤ ٝمساض اِٚیٔ ٝشغیط ضا وبٞف یب افعایف ٔی زٞس.
;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 زالیف ٍ زشجوِ :یًَغ اتشاّیوی هثاًی صتاى ػی ؿاسج
وس ثبال افساز ضا اظ 10ث 1 ٝچبح ٔی وٙس (اظ ثعضي ث ٝوٛچه)ٔ .مساض اِٚی ٝقٕبض٘س ٜضأ 10ی زٞیٓ ٚثب اؾشفبز ٜاظ فٍّٕط وبٞف
( )--ثط٘بٔ ٝای و ٝقٕبضـ ٔقىٛؼ ضا ا٘دبْ ٔی زٞس ایدبز ٔی وٙیٓٔ .ی سٛاٖ لؿٕز قطط ٚفٍّٕط ضا ث ٝنٛضر ٞبی زیٍط ٘یع
سغییط زاز .ث ٝفٛٙاٖ ٔثبَ ٔی سٛاٖ اظ فٍّٕطٞبی ٔٙغمی زض لؿٕز قطط ٚاظ فٍّٕطٞبی سرهیهی زض لؿٕز فٍّٕط افعایف یب
forاؾشفبز ٜوٙیس.
وبٞف اؾشفبز ٜوطزٕٞ .چٙیٗ ٔی سٛا٘یس اظ چٙسیٗ ٔشغیط زض ؾبذشبض حّمٝ
ث ٝایٗ ٘ىش ٝسٛخ ٝوٙیس و ٝاٌط اظ چٙسیٗ ٔشغیط قٕبض٘س ٜیب فٍّٕط زض حّم forٝاؾشفبزٔ ٜی وٙیس ثبیس آٟ٘ب ضا ثب اؾشفبز ٜاظ وبٔب اظ
ٓٞخسا وٙیس.
ٌبٞی اٚلبر ثب ٚخٛز زضؾز ثٛزٖ قطط ٔی ذٛاٞیٓ حّمٔ ٝشٛلف قٛز .ؾٛاَ ایٙدبؾز و ٝچغٛض ایٗ وبض ضا ا٘دبْ زٞیس؟ ثب
اؾشفبز ٜاظ وّٕ ٝوّیسی breakحّم ٝضا ٔشٛلف وطز ٚ ٜثب اؾشفبز ٜاظ وّٕ ٝوّیسیٔ continueی سٛاٖ ثركی اظ حّم ٝضا ضز وطز ٚ
ثٔ ٝطحّ ٝثقس ضفز .ثط٘بٔ ٝظیط ٘ح ٜٛاؾشفبز ٜاظ break ٚ continueضا ٘كبٖ ٔی زٞس :
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
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ضا چبح ٕ٘ی وٙس ٚثمیٔ ٝمبزیط چبح ٔی ق٘ٛس).
آسایِ ّا
آضایٛ٘ ٝفی ٔشغیط اؾز وِ ٝیؿشی اظ آزضؾٟبی ٔدٕٛف ٝای اظ زازٞ ٜبی ٛ٘ ٓٞؿ ضا زض ذٛز شذیطٔ ٜی وٙس.سقطیف چٙسیٗ ٔشغیط اظ
یه ٘ٛؿ ثطای ٞسفی یىؿبٖ ثؿیبض ذؿش ٝوٙٙس ٜاؾزٔ .ثال اٌط ثرٛاٞیس نس ٔشغیط اظ ٘ٛؿ افساز نحیح سقطیف وطز ٚ ٜاظ آٟ٘ب
اؾشفبز ٜوٙیسٔ .غٕئٙب سقطیف ایٗ ٔ ٕٝٞشغیط ثؿیبض وؿبِز آٚض ٚذؿش ٝوٙٙس ٜاؾز .أب ثب اؾشفبز ٜاظ آضایٔ ٝی سٛاٖ ٕٝٞآٟ٘ب ضا
زض یه ذظ سقطیف وطز .زض ظیط ضاٞی ؾبز ٜثطای سقطیف یه آضای٘ ٝكبٖ زاز ٜقس ٜاؾز :
113
www.w3-farsi.com زالیف ٍ زشجوِ :یًَغ اتشاّیوی هثاًی صتاى ػی ؿاسج
ٛ٘ Datatypeؿ زازٞ ٜبیی ضا ٘كبٖ ٔی زٞس و ٝآضای ٝزض ذٛز شذیطٔ ٜی وٙس .وطٚق ٝو ٝثقس اظ ٘ٛؿ زاز ٜلطاض ٔی ٌیطز ٘ ٚكبٖ
زٙٞس ٜاؾشفبز ٜاظ آضای ٝاؾز arrayName.و٘ ٝبْ آضای ٝضا ٘كبٖ ٔی زٞسٍٙٞ .بْ ٘بٍٔصاضی آضای ٝثٟشط اؾز و٘ ٝبْ آضای٘ ٝكبٖ
زٙٞسٛ٘ ٜؿ آضای ٝثبقس .ث ٝفٛٙاٖ ٔثبَ ثطای ٘بٍٔصاضی آضای ٝای و ٝافساز ضا زض ذٛز شذیطٔ ٜی وٙس اظ وّٕ number ٝاؾشفبزٜ
ٓٞ new
وٙیس .ع َٛآضای ٝو ٝث ٝوبٔذبیّط ٔی ٌٛیس قٕب لهس زاضیس چ ٝسقساز زاز ٜیب ٔمساض ضا زض آضای ٝشذیط ٜوٙیس.اظ وّٕ ٝوّیسی
ثطای اذشهبل فضبی حبفؾ ٝث ٝا٘ساظ ٜع َٛآضای ٝاؾشفبزٔ ٜی قٛز.ثطای سقطیف یه آضای ٝؤ 5ٝمساض اظ ٘ٛؿ افساز نحیح زض ذٛز
شذیطٔ ٜی وٙس ثبیس ث ٝنٛضر ظیط فُٕ وٙیٓ :
زض ایٗ ٔثبَ 5آزضؼ اظ فضبی حبفؾ ٝوبٔذیٛسط قٕب ثطای شذیطٔ 5ٜمساض ضظضٔ ٚی قٛز .حبَ چغٛض ٔمبزیطٔبٖ ضا زض ٞط یه اظ
ایٗ آزضؾٟب شذیط ٜوٙیٓ؟ ثطای زؾشطؾی ٚانالح ٔمبزیط آضای ٝاظ ا٘سیؽ یب ٔىبٖ آٟ٘ب اؾشفبزٔ ٜی قٛز.
5فضٛی ا٘سیؽ یه آضای ٝاظ نفط قطٚؿ قس ٚ ٜث ٝیه ٚاحس وٕشط اظ ع َٛآضای ٝذشٓ ٔی قٛز .ث ٝفٛٙاٖ ٔثبَ قٕب یه آضایٝ
زاضیس،ا٘سیؽ آضای ٝاظ 0سب ٔ 4ی ثبقس چ ٖٛع َٛآضای 5 ٝاؾز دؽ 5-1ثطاثط اؾز ثب .4ایٗ ثساٖ ٔقٙبؾز و ٝا٘سیؽ ٘ 0كبٖ
زٙٞس ٜاِٚیٗ فض ٛآضای ٝاؾز ٚا٘سیؽ٘ 1كبٖ زٙٞس ٜزٔٚیٗ فض ٚ ٛاِی آذط .ثطای زضن ثٟشط ٔثبَ ثبال ث ٝقىُ ظیط سٛخ ٝوٙیس :
ثٞ ٝط یه اظ اخعاء آضای ٚ ٝا٘سیؿٟبی زاذُ وطٚق ٝسٛخ ٝوٙیس .وؿب٘ی و ٝسبظ ٜقطٚؿ ث ٝثط٘بٔٛ٘ ٝیؿی وطز ٜا٘س ٔقٕٛال زض ٌصاقشٗ
ا٘سیؽ زچبض اقشجبٔ ٜی ق٘ٛس ٔ ٚثال ٕٔىٗ اؾز زض ٔثبَ ثبال ا٘سیؿٟب ضا اظ 1قطٚؿ وٙٙس .اٌط ثرٛاٞیس ث ٝیىی اظ اخعائ آضای ٝثب
اؾشفبز ٜاظ ا٘سیؿی زؾشطؾی دیسا وٙیس و ٝزض ٔحسٚز ٜا٘سیؿٟبی آضای ٝقٕب ٘جبقس ثب دیغبْ ذغبی
ٛٔ IndexOutOfRangeExceptionاخٔ ٝی قٛیس ٚثسیٗ ٔقٙی اؾز و ٝقٕب آزضؾی ضا ٔی ذٛاٞیس وٚ ٝخٛز ٘ساضز .یىی
زیٍط اظ ضاٞ ٜبی سقطیف ؾطیـ ٔ ٚمساض زٞی یه آضای ٝث ٝنٛضر ظیط اؾز :
زض ایٗ ضٚـ قٕب ٔی سٛا٘یس فٛضا ثقس اظ سقطیف ا٘ساظ ٜآضایٔ ٝمبزیط ضا زض زاذُ آوٛالز لطاض زٞیس .ث ٝیبز زاقش ٝثبقیس وٞ ٝط وساْ
اظ ٔمبزیط ضا ثب اؾشفبز ٜاظ وبٔب اظ ٓٞخسا وٙیسٕٞ .چٙیٗ سقساز ٔمبزیط زاذُ آوٛالز ثبیس ثب ا٘ساظ ٜآضای ٝسقطیف قس ٜثطاثط ثبقس.
114
www.w3-farsi.com زالیف ٍ زشجوِ :یًَغ اتشاّیوی هثاًی صتاى ػی ؿاسج
ایٗ ٔثبَ ثب ٔثبَ لجُ ٞیچ سفبٚسی ٘ساضز ٚسقساز ذغٟبی وس٘ٛیؿی ضا وبٞف ٔی زٞس .قٕب ٔی سٛا٘یس ثب اؾشفبز ٜاظ ا٘سیؽ ثٔ ٝمساض
ٞط یه اظ اخعاء آضای ٝزؾشطؾی یبثیس ٚآٟ٘ب ضا ث ٝزِرٛا ٜسغییط زٞیس.سقساز اخعاء آضای ٝزض ٔثبَ ثبال 5اؾز ٔ ٚب ٔ 5مساض ضا زض آٖ
لطاض ٔی زٞیٓ .اٌط سقساز ٔمبزیطی و ٝزض آضای ٝلطاض ٔی زٞیٓ وٕشط یب ثیكشط اظ ع َٛآضای ٝثبقس ثب ذغب ٔٛاخٔ ٝی قٛیٓ .یىی
زیٍط اظ ضاٞ ٜبی سقطیف آضای ٝزض ظیط آٔس ٜاؾز .قٕب ٔی سٛا٘یس ٞط سقساز فٙهط ضا و ٝذٛاؾشیس زض آضای ٝلطاض زٞیس ثس ٖٚایٙىٝ
ا٘ساظ ٜآضای ٝضا ٔكرم وٙیس .ث ٝفٛٙاٖ ٔثبَ :
زض ایٗ ٔثبَ ٔب ٔ 10مساض ضا ث ٝآضای ٝاذشهبل زاز ٜایٓ٘ .ىش ٝایٙدبؾز و ٝع َٛآضای ٝضا سقطیف ٘ىطز ٜایٓ .زض ایٗ حبِز وبٔذبیّط
ثقس اظ قٕطزٖ سقساز ٔمبزیط زاذُ آوٛالز ع َٛآضای ٝضا سكریم ٔی زٞس .ث ٝیبز زاقش ٝثبقیس و ٝاٌط ثطای آضای ٝعِٛی زض ٘ؾط
ٍ٘یطیس ثبیس ثطای آٖ ٔمساض سقطیف وٙیس زض فیط ایٗ نٛضر ثب ذغب ٔٛاخٔ ٝی قٛیس :
یه ضا ٜثؿیبض ؾبز ٜسط ثطای سقطیف آضای ٝث ٝنٛضر ظیط اؾز :
ث ٝؾبزٌی ٚثس ٖٚاحشیبج ث ٝوّٕ ٝوّیسی ٔ newی سٛاٖ ٔمبزیط ضا زض زاذُ آوٛالز لطاض زاز .وبٔذبیّط ث ٝنٛضر اسٔٛبسیه ثب
قٕبضـ ٔمبزیط ع َٛآضای ٝضا سكریم ٔی زٞس.
5
ثط٘بٔٔ ٝمساض اظ وبضثط ٌطفش ٝقسٔ ٚ ٜیبٍ٘یٗ آٟ٘ب حؿبة ٔی قٛز: زض ظیط ٔثبِی زض ٔٛضز اؾشفبز ٜاظ آضایٞ ٝب آٔس ٜاؾز .زض ایٗ
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آٔس ٜاؾز :
ٔی سٛا٘یس ثٛاؾغ ٝایٗ ٔشغیط ثٔ ٝمبزیط زؾشطؾی دیسا وٙیس .زض ظیط ٘ح ٜٛاؾشفبز ٜاظ حّمٝ
ٔ temporaryVarشغیطی اؾز ؤ ٝمبزیط اخعای آضای ٝضا زض ذٛز ٍٟ٘ساضی ٔی وٙس temporaryVar.ثبیس زاضای ٘ٛؿ ثبقس سب
ثشٛا٘س ٔمبزیط آضای ٝضا زض ذٛز شذیط ٜوٙس .ث ٝفٛٙاٖ ٔثبَ آضای ٝقٕب زاضای افسازی اظ ٘ٛؿ نحیح ثبقس ثبیس ٘ٛؿ ٔشغیط ٔٛلشی اظ
doubleیب .longؾذؽ وّٕٝ ٘ٛؿ افساز نحیح ثبقس یب ٞط ٘ٛؿ زیٍطی و ٝثشٛا٘س افساز نحیح ضا زض ذٛز شذیط ٜوٙس ٔب٘ٙس
foreachأس ٜاؾز :
وّیسی ٚ inثقس اظ آٖ ٘بْ آضای ٝضا ٔی ٘ٛیؿیٓ .زض ظیط ٘ح ٜٛاؾشفبز ٜاظ حّمٝ
;using System
زض ثط٘بٔ ٝآضای ٝای ثب 5خعء سقطیف قسٔ ٚ ٜمبزیط 1سب 5زض آٟ٘ب لطاض زاز ٜقس ٜاؾز (ذظ .)7زض ذظ 9حّم foreach ٝقطٚؿ ٔی
قٛزٔ .ب یه ٔشغیط ٔٛلشی سقطیف وطز ٜایٓ و ٝافساز آضای ٝضا زض ذٛز شذیطٔ ٜی وٙس .زض ٞط ثبض سىطاض اظ حّمٔ foreach ٝشغیط
ٔٛلشی ٔ ، nمبزیط فسزی ضا اظ آضای ٝاؾشرطاج ٔی وٙس .حّمٔ foreachٝمبزیط اِٚیٗ سب آذطیٗ خعء آضای ٝضا زض اذشیبض ٔب لطاض ٔی
زٞس.
حّم foreach ٝثطای زضیبفز ٞط یه اظ ٔمبزیط آضای ٝوبضثطز زاضز .ثقس اظ ٌطفشٗ ٔمساض یىی اظ اخعای آضایٔ، ٝمساض ٔشغیط ٔٛلشی ضا
چبح ٔی وٙیٓ.حّم foreach ٝیه ضقف زاضز ٚآٖ ایٙؿز و ٝایٗ حّمٔ ٝب ضا لبزض ٔی ؾبظز و ٝث ٝزازٞ ٜب زؾشطؾی یبثیٓ ٚیب
آٟ٘ب ضا ثرٛا٘یٓ ِٚی اخبظ ٜانالح اخعاء آضای ٝضا ٕ٘ی زٞس.
117
www.w3-farsi.com زالیف ٍ زشجوِ :یًَغ اتشاّیوی هثاًی صتاى ػی ؿاسج
ثطای زضن ایٗ ٔغّت زض ٔثبَ ظیط ؾقی قس ٜاؾز ؤ ٝمساض ٞط یه اظ اخعا آضای ٝافعایف یبثس :
forاؾشفبز ٜوطز.
اٌط ثط٘بٔ ٝضا اخطا وٙیس ثب ذغب ٔٛاخٔ ٝی قٛیس .ثطای انالح ٞط یه اظ اخعا آضایٔ ٝی سٛاٖ اظ حّمٝ
آضایٞ ٝبی چٙس ثقسی آضایٞ ٝبیی ٞؿشٙس و ٝثطای زؾشطؾی ثٞ ٝط یه اظ فٙبنط آٟ٘ب ثبیس اظ چٙسیٗ ا٘سیؽ اؾشفبز ٜوٙیٓ.یه
آضای ٝچٙس ثقسی ضا ٔی سٛاٖ ٔب٘ٙس یه خس َٚثب سقسای ؾش ٚ ٖٛضزیف سهٛض وٙیس .ثب افعایف ا٘سیؿٟب ا٘ساظ ٜاثقبز آضای٘ ٝیع افعایف
ٔی یبثس ٚآضایٞ ٝبی چٙس ثقسی ثب ثیف اظ ز ٚا٘سیؽ ثٚ ٝخٛز ٔی آیٙس٘ .ح ٜٛایدبز یه آضای ٝثب ز ٚثقس ث ٝنٛضر ظیط اؾز :
ٔی سٛاٖ یه آضای ٝثب سقساز ظیبزی ثقس ایدبز وطز ث ٝقطعی وٞ ٝط ثقس زاضای عٔ َٛكرهی ثبقس .ث ٝزِیُ ایٙى ٝآضایٞ ٝبی ؾٝ
ثقسی یب آضایٞ ٝبی ثب ثیكشط اظ ز ٚثقس ثؿیبض وٕشط ٔٛضز اؾشفبز ٜلطاض ٔی ٌیط٘س اخبظ ٜثسٞیس و ٝزض ایٗ زضؼ ثط ضٚی آضایٞ ٝبی زٚ
ثقسی سٕطوع وٙیٓ .زض سقطیف ایٗ ٘ٛؿ آضای ٝاثشسا ٘ٛؿ آضای ٝیقٙی ایٙى ٝآضای ٝچٛ٘ ٝفی اظ ا٘ٛاؿ زاز ٜضا زض ذٛز شذیطٔ ٜی وٙس ضا
ٔكرم ٔی وٙیٓ .ؾذؽ یه خفز وطٚق ٚ ٝزض زاذُ وطٚقٞ ٝب یه وبٔب لطاض ٔی زٞیٓ .ث ٝسقساز وبٔبٞبیی و ٝزض زاذُ وطٚقٝ
ٔی ٌصاضیس سٛخ ٝوٙیس.اٌط آضایٔ ٝب ز ٚثقسی اؾز ثبیس 1وبٔب ٚاٌط ؾ ٝثقسی اؾز ثبیس 2وبٔب لطاض زٞیٓ .ؾذؽ یه ٘بْ ثطای آضایٝ
ا٘شربة وطز ٚ ٜثقس سقطیف آ٘طا ثب ٌصاقشٗ وّٕٛ٘ ، new ٝؿ زاز ٚ ٜع َٛآٖ وبُٔ ٔی وٙیٓ .زض یه آضای ٝز ٚثقسی ثطای زؾشطؾی
ثٞ ٝط یه اظ فٙبنط ث ٝزٔ ٚمساض ٘یبظ زاضیٓ یىی ٔمساض ٚ Xزیٍطی ٔمساض Yؤ ٝمساض ٘ xكبٖ زٙٞس ٜضزیف ٔ ٚمساض ٘ Yكبٖ
زٙٞس ٜؾش ٖٛآضای ٝاؾز اِجش ٝاٌط ٔب آضای ٝز ٚثقسی ضا ث ٝنٛضر خس َٚزض ٘ؾط ثٍیطیٓ.یه آضای ٝؾ ٝثقسی ضا ٔی سٛاٖ ث ٝنٛضر
118
www.w3-farsi.com زالیف ٍ زشجوِ :یًَغ اتشاّیوی هثاًی صتاى ػی ؿاسج
یه ٔىقت سهٛض وطز و ٝزاضای ؾ ٝثقس اؾز x ٚع Y ،َٛفطو z ٚاضسفبؿ آٖ اؾز .یه ٔثبَ اظ آضای ٝز ٚثقسی زض ظیط آٔسٜ
اؾز :
وس ثبال ث ٝوبٔذبیّط ٔی ٌٛیس و ٝفضبی وبفی ث ٝفٙبنط آضای ٝاذشهبل ثس( ٜزض ایٗ ٔثبَ 15ذب٘ .)ٝزض قىُ ظیط ٔىبٖ ٞط فٙهط زض
یه آضای ٝز ٚثقسی ٘كبٖ زاز ٜقس ٜاؾز.
ٔمساض 3ضا ث x ٝاذشهبل ٔی زٞیٓ چ 3ٖٛؾغط ٔ ٚمساض 5ضا ث Y ٝچ 5 ٖٛؾش ٖٛزاضیٓ اذشهبل ٔی زٞیٓ .چغٛض یه آضای ٝچٙس
ثقسی ضا ٔمساض زٞی وٙیٓ؟ چٙس ضا ٜثطای ٔمساض زٞی ث ٝآضایٞ ٝب ٚخٛز زاضز.
ثطای ضاحشی وبض ٔی سٛاٖ اظ ٘ٛقشٗ لؿٕز] new dataype[,نطف ٘ؾط وطز.
119
www.w3-farsi.com زالیف ٍ زشجوِ :یًَغ اتشاّیوی هثاًی صتاى ػی ؿاسج
ٚیب ٔی سٛاٖ ٔمساض زٞی ث ٝفٙبنط ضا ث ٝنٛضر زؾشی ا٘دبْ زاز ٔب٘ٙس :
ا٘سیؿٟبی Y ٚ
X ٕٞب٘غٛض ؤ ٝكبٞسٔ ٜی وٙیس ثطای زؾشطؾی ثٞ ٝط یه اظ فٙبنط زض یه آضای ٝز ٚثقسی ث ٝؾبزٌی ٔی سٛاٖ اظ
ٚیه خفز وطٚقٔ ٝب٘ٙس ٔثبَ اؾشفبز ٜوطز.
ٌطزـ زض ٔیبٖ فٙبنط آضایٞ ٝبی چٙس ثقسی ٘یبظ ث ٝوٕی زلز زاضز .یىی اظ ضاٟٞبی آؾبٖ اؾشفبز ٜاظ حّم ٚ foreachٝیب حّمٝ
forس ٛزض س ٛاؾز .اخبظ ٜزٞیس اثشسا اظ حّم foreachٝاؾشفبز ٜوٙیٓ.
120
www.w3-farsi.com زالیف ٍ زشجوِ :یًَغ اتشاّیوی هثاًی صتاى ػی ؿاسج
ٔكبٞس ٜوطزیس وٌ ٝطزـ زض ٔیبٖ ٔمبزیط فٙبنط یه آضای ٝچٙس ثقسی چمسض ضاحز اؾز .ثٚ ٝؾیّ ٝحّمٕ٘ foreachٝی سٛا٘یٓ
ا٘شٟبی ضزیفٟب ضا ٔكرم وٙیٓ .ثط٘بٔ ٝظیط ٘كبٖ ٔی زٞس و ٝچغٛض اظ حّم forٝثطای ذٛا٘سٖ ٔ ٕٝٞمبزیط آضای ٚ ٝسقییٗ ا٘شٟبی
ضزیف ٞب اؾشفبز ٜوٙیس.
;using System
ٕٞب٘غٛض و ٝزض ٔثبَ ثبال ٘كبٖ زاز ٜقس ٜاؾز ثب اؾشفبز ٜاظ یه حّم ٝؾبزٕ٘ 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
122
www.w3-farsi.com زالیف ٍ زشجوِ :یًَغ اتشاّیوی هثاًی صتاى ػی ؿاسج
زض ثط٘بٔ ٝثبال یه آضای ٝچٙس ثقسی اظ ٘ٛؿ doubleسقطیف قس ٜاؾز (ذظ ٕٞ .)7چٙیٗ یه ٔشغیط ث٘ ٝبْ totalسقطیف ٔی وٙیٓ
forس ٛزض سٔ ٛی قٛیٓ (ذظ .)10زض اِٚیٗ حّمٝ
ؤ ٝمساض ٔحبؾج ٝقسٔ ٜقسَ ٞط زا٘ف آٔٛظ ضا زض آٖ لطاض زٞیٓ .حبَ ٚاضز حّمٝ
forیه ٔشغیط ث٘ ٝبْ sudentثطای سكریم دبی ٝزضؾی ٞط زا٘ف آٔٛظ سقطیف وطز ٜایٓ.
ثط٘بٔ ٝچٟبض ٕ٘طٔ ٜطثٛط ث ٝزا٘ف آٔٛظ ضا ٔی ٌیطزٞ .ط ٚلز و ٝثط٘بٔ ٝیه ٕ٘ط ٜضا اظ وبضثط زضیبفز ٔی وٙسٕ٘ ،ط ٜثٔ ٝشغیطtotal
اضبفٔ ٝی قٛزٚ .لشی ٕ٘ ٕٝٞطٞ ٜب ٚاضز قس٘سٔ ،شغیط ٓٞ totalخٕـ ٕ٘ ٕٝٞطار ضا ٘كبٖ ٔی زٞس .زض ذغٛطٔ 23-24قسَ زا٘ف
آٔٛظ ٘كبٖ زازٔ ٜی قٛز .ث ٝفطٔز} {0:F2سٛخ ٝوٙیس .ایٗ فطٔز ٔقسَ ضا سب ز ٚضلٓ افكبض ٘كبٖ ٔی زٞسٔ .قسَ اظ سمؿیٓ وطزٖ
( totalخٕـ) ثط سقساز ٕ٘طار ث ٝزؾز ٔی آیس .اظ ٔشس) ٓٞ GetLength(1ثطای ث ٝزؾز آٚضزٖ سقساز ٕ٘طار اؾشفبزٔ ٜی قٛز.
آضایٞ ٝبی ز٘سا٘ ٝزاض ٘ٛفی اظ آضایٞ ٝبی چٙس ثقسی ٞؿشٙس و ٝقبُٔ ضزیف ٞبیی ثب عٞ َٛبی ٔرشّفٙس .آضای ٝچٙس ثقسی ؾبزٜ
آضای ٝای ث ٝقىُ ٔؿشغیُ اؾز چ ٖٛسقساز ؾشٟ٘ٛبی آٖ یىؿبٖ اؾز ِٚی آضای ٝز٘سا٘ ٝزاض زاضای ضزیفٟبی ثب عٞ َٛبی ٔشفبٚر
اؾز .ثٙبثط ایٗ ٔی سٛاٖ یه آضای ٝز٘سا٘ ٝزاض ضا آضای ٝای اظ آضایٞ ٝب فطو وطز .زض ظیط ٘ح ٜٛسقطیف آضایٞ ٝبی چٙس ثقسی آٔسٜ
اؾز.
;datatype[][] arrayName
ٔمساض زٞی ث ٝآضایٞ ٝبی ز٘سا٘ ٝزاض ثؿیبض ٌیح وٙٙس ٜاؾز .زض ظیط ٘حٔ ٜٛمساض زٞی ث ٝیه آضای ٝز٘سا٘ ٝزاض ٘كبٖ زاز ٜقس ٜاؾز
:
123
www.w3-farsi.com زالیف ٍ زشجوِ :یًَغ اتشاّیوی هثاًی صتاى ػی ؿاسج
اثشسا سقساز ضزیفٟبی آضای ٝضا ثٚ ٝؾیّ ٝوّٕ ٝوّیسی newسقطیف ٔی وٙیٓ ٚ ،ثقس ٘ٛؿ زاز ٜای آضای ٚ ٝؾذؽ ز ٚخفز وطٚق ٝوٝ
زض خفز وطٚق ٝا َٚسقساز ضزیف ٞب لطاض زاضز ضا سقطیف ٔی وٙیٓ .حبَ سقساز ؾشٟ٘ٛب ٞط ضزیف ضا ثب اؾشفبز ٜاظ ؾ ٝضزیفی و ٝزض
زؾشطؼ اؾز ٚثب اؾشفبز ٜاظ ا٘سیؿٟبی آٟ٘ب ٔب٘ٙس یه آضای ٝؾبزٔ ٜمساض زٞی ٔی وٙیٓٔ .ی سٛاٖ ث ٝؾشٟ٘ٛبی ٞط ضزیف ٔدٕٛفٝ
ای اظ ٔمبزیط اذشهبل زاز :
یه ضا ٜثٟشط ثطای ٔمساضزٞی ث ٝآضایٞ ٝبی ز٘سا٘ ٝزاض ث ٝقىُ ظیط اؾز :
124
www.w3-farsi.com زالیف ٍ زشجوِ :یًَغ اتشاّیوی هثاًی صتاى ػی ؿاسج
ثطای زؾشطؾی ث ٝفٙبنط یه آضای ٝز٘سا٘ ٝزاض ٔی سٛاٖ اظ ؾشٞ ٖٛب ٚضزیف ٞبی آٖ اؾشفبز ٜوطز :
]array[row][column
;)]Console.WriteLine(myArrays[1][2
اظ یه حّم foreach ٝؾبزٕ٘ ٜی سٛاٖ ثطای زؾشطؾی ث ٝاخعای ایٗ آضایٞ ٝب اؾشفبز ٜوطز.
اٌط اظ حّم foreach ٝاؾشفبز ٜوٙیٓ ثب ذغب ٔٛاخٔ ٝی قٛیٓ چ ٖٛفٙبنط ایٗ ٘ٛؿ آضایٞ ٝب ،آضایٞ ٝؿشٙس ٘ ٝفسز یب ضقش ٝیب...
.ثطای حُ ایٗ ٔكىُ ثبیس ٘ٛؿ ٔشغیط ٔٛلشی ( )arrayضا سغییط زاز ٚ ٜاظ حّم foreach ٝزیٍطی ثطای زؾشطؾی ثٔ ٝمبزیط
اؾشفبز ٜوطزٔ .ثبَ :
ایٗ وبض ثب اؾشفبز ٜاظ یه حّم forٝس ٛزض س ٛلبثُ اخطاؾز :
زض اِٚیٗ حّم for ٝثب اؾشفبز ٜاظ ذبنیز myArray ، Lengthسقساز ضزیف ٞبی آضای ٝضا ث ٝزؾز ٔی آٚضیٓ.زض حّم forٝزْٚ
٘یع ثب اؾشفبز ٜاظ ذبنیز Lengthفٙهط ضزیف خبضی سقساز ؾشٟ٘ٛب ضا ث ٝزؾز ٔی آٚضیٓ .ؾذؽ ثب اؾشفبز ٜاظ ا٘سیؽ فٙبنط
آضای ٝضا چبح ٔی وٙیٓ.
125
www.w3-farsi.com زالیف ٍ زشجوِ :یًَغ اتشاّیوی هثاًی صتاى ػی ؿاسج
هسذّا
ٔشسٞب ث ٝقٕب اخبظٔ ٜی زٙٞس و ٝیه ضفشبض یب ٚؽیف ٝضا سقطیف وٙیس ٔ ٚدٕٛف ٝای اظ وسٞب ٞؿشٙس و ٝزض ٞط خبی ثط٘بٔٔ ٝی سٛاٖ
اظ آٟ٘ب اؾشفبز ٜوطزٔ .شسٞب زاضای آضٌٔٛبٟ٘بیی ٞؿشٙس وٚ ٝؽیفٔ ٝشس ضا ٔكرم ٔی وٙٙسٔ .شس زض زاذُ والؼ سقطیف ٔی قٛز.
ٕ٘ی سٛاٖ یه ٔشس ضا زض زاذُ ٔشس زیٍط سقطیف وطزٚ .لشی و ٝقٕب زض ثط٘بٔ ٝیه ٔشس ضا نسا ٔی ظ٘یس ثط٘بٔ ٝث ٝلؿٕز سقطیف
ٔشس ضفش ٚ ٝوسٞبی آٖ ضا اخطا ٔی وٙس .زض ؾی قبضح ٔشسی ٚخٛز زاضز و٘ ٝمغ ٝآغبظ ٞط ثط٘بٔ ٝاؾز ٚثس ٖٚآٖ ثط٘بٔٞ ٝب ٕ٘ی
زا٘ٙس ثب یس اظ ودب قطٚؿ ق٘ٛس ،ایٗ ٔشس ٘ Mainبْ زاضز دبضأشط ٞب ٕٞبٖ چیعٞبیی ٞؿشٙس ؤ ٝشس ٔٙشؾط زضیبفز آٟ٘ب اؾز.
آضٌٔٛبٟ٘ب ٔمبزیطی ٞؿشٙس و ٝث ٝدبضأشطٞب اضؾبَ ٔی ق٘ٛسٌ .بٞی اٚلبر ز ٚوّٕ ٝدبضأشط ٚآضٌٔٛبٖ ث ٝیه ٔٙؾٛض ث ٝوبض ٔی
ض٘ٚس .ؾبز ٜسطیٗ ؾبذشبض یه ٔشس ث ٝنٛضر ظیط اؾز :
)(returnType MethodName
{
;code to execute
}
ث ٝثط٘بٔ ٝؾبز ٜظیط سٛخ ٝوٙیس .زض ایٗ ثط٘بٔ ٝاظ یه ٔشس ثطای چبح یه دیغبْ زض نفحٕ٘ ٝبیف اؾشفبز ٜقس ٜاؾز :
زض ذغٛط 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لجُ اظ ٘بْ ٔشس ٍٙٞبْ ٘بٍٔصاضی ٔشس ٚلجُ اظ ٘بْ ٔشس شوط قٛز .اٌط ٔشس ٔب ٔمساض ثطٌكشی ٘ساقش ٝثبقس ثبیس اظ وّٕٝ
اؾشفبز ٜوٙیٓٔ .ثبَ ظیط یه ٔشس و ٝزاضای ٔمساض ثطٌكشی اؾز ضا ٘كبٖ ٔی زٞس.
ٕٞب٘غٛض و ٝزض ذظٔ 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 زالیف ٍ زشجوِ :یًَغ اتشاّیوی هثاًی صتاى ػی ؿاسج
زض ذغٛط 5-20یه ٔشس ثب ٘بْ )( GetNumberسقطیف قس ٜاؾز و ٝاظ وبضثط یه فسز ثعضٌشط اظ 10ضا ٔی ذٛاٞس .اٌط فسز ٚاضز
قس ٜسٛؾظ وبضثط زضؾز ٘جبقس ٔشس ٔمساض نفط ضا ثط ٔی ٌطزا٘س.
ٚاٌط لؿٕز elseزؾشٛض ٚ ifیب زؾشٛض returnضا اظ آٖ حصف وٙیٓ زض ٍٙٞبْ اخطای ثط٘بٔ ٝثب دیغبْ ذغب ٔٛاخٔ ٝی قٛیٓ .چٖٛ
اٌط قطط زؾشٛض ٘ ifبزضؾز ثبقس (وبضثط ٔمساضی وٕشط اظ 10ضا ٚاضز وٙس) ثط٘بٔ ٝث ٝلؿٕزٔ elseی ضٚز سب ٔمساض نفط ضا ثط ٌطزا٘س
ٚچ ٖٛلؿٕز elseحصف قس ٜاؾز ثط٘بٔ ٝثب ذغب ٔٛاخٔ ٝی قٛز ٕٞ ٚچٙیٗ اٌط زؾشٛض returnحصف قٛز چ ٖٛثط٘بٔ٘ ٝیبظ ثٝ
ٔمساض ثطٌكشی زاضز دیغبْ ذغب ٔی زٞس ٚ .آذطیٗ ٔغّجی و ٝزض ایٗ زضؼ ٔی ذٛاٞیٓ ث ٝقٕب آٔٛظـ زٞیٓ ایٗ اؾز و ٝقٕب ٔی
سٛا٘یس اظ یه ٔشس ؤ ٝمساض ثطٌكشی ٘ساضز ذبضج قٛیس .حشی اٌط اظ ٘ٛؿ زاز ٜای voidزض یه ٔشس اؾشفبزٔ ٜی وٙیس ثبظ ٔ ٓٞی
سٛا٘یس وّٕ ٝوّیسی returnضا زض آٖ ث ٝوبض ثجطیس .اؾشفبز ٜاظ returnثبفث ذطٚج اظ ثس٘ٔ ٝشس ٚاخطای وسٞبی ثقس اظ آٖ ٔی
قٛز.
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دبضأشط ٘كبٖ زاز ٜقس ٜاؾز :
دبضأشطٞب ثقس اظ ٘بْ ٔشس ٚثیٗ دطا٘شعٞب لطاض ٔی ٌیط٘س .ثط اؾبؼ وبضی ؤ ٝشس ا٘دبْ ٔی زٞس ٔی سٛاٖ سقساز دبضأشطٞبی ظیبزی ثٝ
ٔشس اضبف ٝوطز .ثقس اظ فطاذٛا٘ی یه ٔشس ثبیس آضٌٔٛبٟ٘بی آٖ ضا ٘یع سبٔیٗ وٙیس .آضٌٔٛبٟ٘ب ٔمبزیطی ٞؿشٙس و ٝث ٝدبضأشطٞب
130
www.w3-farsi.com زالیف ٍ زشجوِ :یًَغ اتشاّیوی هثاًی صتاى ػی ؿاسج
اذشهبل زازٔ ٜی ق٘ٛس .سطسیت اضؾبَ آضٌٔٛبٟ٘ب ث ٝدبضأشطٞب ٔ ٟٓاؾز .فسْ ضفبیز سطسیت زض اضؾبَ آضٌٔٛبٟ٘ب ثبفث ثٚ ٝخٛز
آٔسٖ ذغبی ٔٙغمی ٚذغبی ظٔبٖ اخطا ٔی قٛز.اخبظ ٜثسٞیس و ٝیه ٔثبَ ثع٘یٓ :
زض ثط٘بٔ ٝثبال یه ٔشس ث٘ ٝبْ( 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زض ثط٘بٔ ٝظیط یه ٔشس سقطیف قس ٜاؾز و ٝزاضای ز ٚدبضأشط اظ
زٛ٘ ٚؿ زاز ٜای ٔرشّف اؾز:
int زض ٔثبَ ثبال یه ٔشسی سقطیف قس ٜاؾز و ٝاِٚیٗ دبضأشط آٖ ٔمساضی اظ ٘ٛؿ ضقش ٚ ٝزٔٚیٗ دبضأشط آٖ ٔمساضی اظ ٘ٛؿ
زضیبفز ٔی وٙسٔ .شس ث ٝؾبزٌی زٔ ٚمساضی و ٝث ٝآٖ اضؾبَ قس ٜاؾز ضا ٘كبٖ ٔی زٞس .زض ذظ ٔ 13شس ضا ا َٚثب یه ضقشٚ ٝ
ؾذؽ یه فسز ذبل فطاذٛا٘ی ٔی وٙیٓ .حبَ اٌط ٔشس ث ٝنٛضر ظیط فطاذٛا٘ی ٔی قس :
زض ثط٘بٔ ٝذغب ثٚ ٝخٛز ٔی آٔس چ ٖٛفسز 100ث ٝدبضأشطی اظ ٘ٛؿ ضقش ٚ ٝضقش Hello World! ٝث ٝدبضأشطی اظ ٘ٛؿ افساز
نحیح اضؾبَ ٔی قس .ایٗ ٘كبٖ ٔی زٞس و ٝسطسیت اضؾبَ آضٌٔٛبٟ٘ب ث ٝدبضأشطٞب ٍٙٞبْ فطاذٛا٘ی ٔشس ٔ ٟٓاؾز.
ثٔ ٝثبَ 1سٛخ ٝوٙیس زض آٖ ٔثبَ ز ٚفسز اظ ٘ٛؿ intث ٝدبضأشطٞب اضؾبَ وطزیٓ ،و ٝسطسیت اضؾبَ آٟ٘ب چٞ ٖٛطز ٚدبضأشط اظ یه
٘ٛؿ ثٛز٘س ٔ٘ ٟٓجٛزِٚ .ی اٌط دبضأشطٞبی ٔشس زاضای اٞساف ذبنی ثبقٙس سطسیت اضؾبَ آضٌٔٛبٟ٘ب ٔ ٟٓاؾز.
132
www.w3-farsi.com زالیف ٍ زشجوِ :یًَغ اتشاّیوی هثاًی صتاى ػی ؿاسج
زض ٔثبَ ثبال ٘كبٖ زاز ٜقس ٜاؾز و ٝحشی اٌط ٔشس ز ٚآضٌٔٛبٖ ثب یه ٘ٛؿ زاز ٜای لج َٛوٙس ثبظ ٓٞثٟشط اؾز سطسیت ثط اؾبؼ
سقطیف دبضأشطٞب ضفبیز قٛز .ث ٝفٛٙاٖ ٔثبَ زض اِٚیٗ فطاذٛا٘ی ٔشس ثبال اقىبِی ث ٝچكٓ ٕ٘ی آیس چ ٖٛؾٗ قرم ٚ 20لس اٚ
160ؾب٘شی ٔشط اؾز .اٌط آضٌٔٛبٟ٘ب ضا ث ٝسطسیت اضؾبَ ٘ىٙیٓ ؾٗ قرم ٚ 160لس ا 20 ٚؾب٘شی ٔشط ٔی قٛز و ٝثٚ ٝالقیز
٘عزیه ٘یؿز.
زا٘ؿشٗ ٔجب٘ی ٔمبزیط ثطٌكشی ٚاضؾبَ آضٌٔٛبٟ٘ب ثبفث ٔی قٛز و ٝقٕب ٔشسٞبی وبضأس سطی سقطیف وٙیس .سى ٝوس ظیط ٘كبٖ ٔی
زٞس و ٝقٕب حشی ٔی سٛا٘یس ٔمساض ثطٌكشی اظ یه ٔشس ضا ث ٝفٛٙاٖ آضٌٔٛبٖ ثٔ ٝشس زیٍط اضؾبَ وٙیس.
)(int MyMethod
{
;return 5
}
;))(AnotherMethod(MyMethod
چٔ ٖٛمساض ثطٌكشی ٔشس )( MyMethodفسز 5اؾز ٚث ٝفٛٙاٖ آضٌٔٛبٖ ثٔ ٝشس )( AnotherMethodاضؾبَ ٔی قٛز
ذطٚخی وس ثبال ٓٞفسز 5اؾز.
یىی زیٍط اظ ضاٞ ٜبی اضؾبَ آضٌٔٛبٟ٘ب اؾشفبز ٜاظ ٘بْ آٟ٘بؾز .اؾشفبز ٜاظ ٘بْ آضٌٔٛبٟ٘ب قٕب ضا اظ ث ٝیبز آٚضی ٚضفبیز سطسیت
دبضأشطٞب ٍٙٞبْ اضؾبَ آضٌٔٛبٖ ٞب ضاحز ٔی وٙس .زض فٛو قٕب ثبیس ٘بْ دبضأشطٞبی ٔشس ضا ث ٝذبعط ثؿذبضیس (ِٚی اظ آٖ خبییىٝ
ٚیػٚاَ اؾشٛزی Intellisense ٛزاضز ٘یبظی ث ٝایٗ وبض ٘یؿز) .
اؾشفبز ٜاظ ٘بْ آضٌٔٛبٟ٘ب ذٛا٘بیی ثط٘بٔ ٝضا ثبال ٔی ثطز چ ٖٛقٕب ٔی سٛا٘یس ثجیٙیس و ٝچٔ ٝمبزیطی ث ٝچ ٝدبضأشطٞبیی اذشهبل
زاز ٜقس ٜاؾز٘ .بٔیسٖ آضٌٔٛبٟ٘ب زض ؾی قبضحٔ 2010غطح قس ٜاؾز ٚاٌط قٕب اظ ٘ؿرٞ ٝبی لجّی ٔب٘ٙس ؾی قبضح2008
اؾشفبزٔ ٜی وٙیس ٕ٘ی سٛا٘یس اظ ایٗ ذبنیز اؾشفبز ٜوٙیس .زض ظیط ٘ح ٜٛاؾشفبز ٜاظ ٘بْ آضٌٔٛبٟ٘ب ٚلشی ؤ ٝشس فطاذٛا٘ی ٔی قٛز
٘كبٖ زاز ٜقس ٜاؾز :
133
www.w3-farsi.com یًَغ اتشاّیوی: ِزالیف ٍ زشجو هثاًی صتاى ػی ؿاسج
using System;
//Print a newline
Console.WriteLine();
Console.WriteLine();
فسزیٜ یه زازٝ اؾز وٜ وطزٜز اؾشفبزٛ ٔی قٜ{ ٘كبٖ زاز0:C} ثبَٝ ضایح وٛ اظ فطٔز د7-9 طٛ زض ذغWriteLine() ٔشس
ٓیٞ ضا سغییط زٜا٘ی قسٛ ٔشس فطاذٝب زض ؾٟ٘ٔبٌٛ حشی اٌط ٔب سطسیت آضٝس وٞخی ٘كبٖ ٔی زٚ ذط.سِٙی سجسیُ ٔی وٛؿ دٛ٘ ٝضا ث
بی ثبثزٟ٘ٔبٌٛ آضٚ ْبی زاضای ٘بٟ٘ٔبٌٛاٖ اظ آضٛیٗ ٔی سٕٙچٞ .زٛ ٔی قٜ قبٖ اذشهبل زازٝعٛبی ٔطثٞ دبضأشطٝبؾت ثٙٔ ٔمبزیط
.بی زاضای ٘بْ لطاض ثٍیط٘سٟ٘ٔبٌٛبی ثبثز لجُ اظ آضٟ٘ٔبٌٛ آضٝ قطعی وٝ وطز ثٜٕعٔبٖ اؾشفبزٞ ضٛ عٝ(ٔمساضی) ث
// or
134
www.w3-farsi.com زالیف ٍ زشجوِ :یًَغ اتشاّیوی هثاًی صتاى ػی ؿاسج
// and
ٕٞب٘غٛض ؤ ٝكبٞسٔ ٜی وٙیس اثشسا ثبیس آضٌٔٛبٟ٘بی ثبثز ٍٙٞبْ فطاذٛا٘ی ٔشس شوط ق٘ٛس .زض اِٚیٗ ٚزٔٚیٗ فطاذٛا٘ی زض وس ثبال ،
ٔمساض 30ضا ث ٝفٛٙاٖ اِٚیٗ آضٌٔٛبٖ ث ٝاِٚیٗ دبضأشط ٔشس یقٙی jackاذشهبل ٔی زٞیٓ .ؾٔٛیٗ ٚچٟبضٔیٗ ذظ وس ثبال اقشجبٜ
ٞؿشٙس چ ٖٛآضٌٔٛبٟ٘بی زاضای ٘بْ لجُ اظ آضٌٔٛبٟ٘بی ثبثز لطاض ٌطفش ٝا٘س .لطاض ٌطفشٗ آضٌٔٛبٟ٘بی زاضای ٘بْ ثقس اظ آضٌٔٛبٟ٘ب
ثبثز اظ ثطٚظ ذغب خٌّٛیطی ٔی وٙس.
آضٌٔٛبٟ٘ب ضا ٔی سٛاٖ ث ٝوٕه اضخبؿ اضؾبَ وطز .ایٗ ثساٖ ٔقٙبؾز و ٝقٕب آزضؼ ٔشغیطی ضا اضؾبَ ٔی وٙیس ٘ٔ ٝمساض آٖ ضا.
اضؾبَ ثب اضخبؿ ظٔب٘ی ٔفیس اؾز و ٝقٕب ثرٛاٞیس یه آضٌٔٛبٖ و ٝزاضای ٔمساض ثعضٌی اؾز (ٔب٘ٙس یه آثدىز) ضا اضؾبَ وٙیس.
زض ایٗ حبِز ٚلشی و ٝآضٌٔٛبٖ اضؾبَ قس ٜضا زض زاذُ ٔشس انالح ٔی وٙیٓ ٔمساض انّی آضٌٔٛبٖ زض ذبضج اظ ٔشس ٓٞسغییط ٔی
وٙس .زض ظیط زؾشٛضاِقُٕ دبی ٝای سقطیف دبضأشط ٞب و ٝزض آٟ٘ب ث ٝخبی ٔمساض اظ آزضؼ اؾشفبز ٜقس ٜاؾز ٘كبٖ زاز ٜقس: ٜ
فطأٛـ ٘كٛز و ٝثبیس اظ وّٕ ٝوّیسی refاؾشفبز ٜوٙیسٚ .لشی یه ٔشس فطاذٛا٘ی ٔی قٛز ٚآضٌٔٛبٟ٘ب ث ٝآٟ٘ب اضؾبَ ٔی قٛز ٓٞ
ثبیس اظ وّٕ ٝوّیسی refاؾشفبز ٜقٛز.
;)MethodName(ref argument
اخبظ ٜزٞیس و ٝسفبٚر ثیٗ اضؾبَ ثب اضخبؿ ٚاضؾبَ ثب ٔمساض آضٌٔٛبٖ ضا ثب یه ٔثبَ سٛضیح زٞیٓ.
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
زض ثط٘بٔ ٝثبال زٔ ٚشس و ٝزاضای یه ٞسف یىؿبٖ ٞؿشٙس سقطیف قس ٜا٘س ٚآٖ اضبف ٝوطزٖ فسز 10ثٔ ٝمساضی اؾز و ٝث ٝآٟ٘ب
اضؾبَ ٔی قٛز .اِٚیٗ ٔشس (ذغٛط )5-9زاضای یه دبضأشط اؾز و٘ ٝیبظ ث ٝیه ٔمساض آضٌٔٛبٖ (اظ ٘ٛؿ )intزاضز.
ٚلشی ؤ ٝشس ضا نسا ٔی ظ٘یٓ ٚآضٌٔٛب٘ی ث ٝآٖ اذشهبل ٔی زٞیٓ (ذظ ، )24وذی آضٌٔٛبٖ ث ٝدبضأشط ٔشس اضؾبَ ٔی قٛز.
ثٙبثطایٗ ٔمساض انّی ٔشغیط ذبضج اظ ٔشس ٞیچ اضسجبعی ث ٝدبضأشط ٔشس ٘ساضز.ؾذؽ ٔمساض 10ضا ثٔ ٝشغیط دبضأشط( )numberاضبفٝ
وطز٘ ٚ ٜشید ٝضا چبح ٔی وٙیٓ.
ثطای اثجبر ایٙىٔ ٝشغیط ٞ numیچ سغییطی ٘ىطز ٜاؾز ٔمساض آٖ ضا یىجبض زیٍط چبح وطزٔ ٚ ٜكبٞسٔ ٜی وٙیٓ و ٝسغییط ی
٘ىطز ٜاؾز .زٔٚیٗ ٔشس (ذغٛط٘ )11-15یبظ ث ٝیه ٔمساض ثب اضخبؿ زاضز .زض ایٗ حبِز ث ٝخبی ایٙى ٝیه وذی اظ ٔمساض ث ٝفٛٙاٖ
آضٌٔٛبٖ ث ٝاٖ اضؾبَ قٛز آزضؼ ٔشغیط ث ٝآٖ اضؾبَ ٔی قٛز .حبَ دبضأشط ثٔ ٝمساض انّی ٔشغیط و ٝظٔبٖ فطاذٛا٘ی ٔشس ث ٝآٖ
)13
اضؾبَ ٔی قٛز زؾشطؾی زاضزٚ .لشی ؤ ٝب ٔمساض ٔشغیط دبضأشطی و ٝقبُٔ آزضؼ ٔشغیط انّی اؾز ضا سغییط ٔی زٞیٓ (ذظ
زض ٚالـ ٔمساض ٔشغیط انّی زض ذبضج اظ ٔشس ضا سغییط زاز ٜایٓ .زض ٟ٘بیز ٔمساض انّی ٔشغیط ضا ٚلشی و ٝاظ ٔشس ذبضج قسیٓ ضا
ٕ٘بیف ٔی زٞیٓ ٔ ٚكبٞسٔ ٜی قٛز ؤ ٝمساض آٖ ٚالقب سغییط وطز ٜاؾز.
136
www.w3-farsi.com زالیف ٍ زشجوِ :یًَغ اتشاّیوی هثاًی صتاى ػی ؿاسج
خاساهسشّای out
دبضأشطٞبی outدبضأشطٞبیی ٞؿشٙس ؤ ٝشغیطٞبیی ضا ؤ ٝمساض زٞی اِٚی٘ ٝكس ٜا٘س ضا لجٔ َٛی وٙٙس .وّٕ ٝوّیسی outظٔب٘ی
ٔٛضز اؾشفبز ٜلطاض ٔی ٌیطز و ٝثرٛاٞیٓ یه ٔشغیط ثسٔ ٖٚمساض ضا ثٔ ٝشس اضؾبَ وٙیٓٔ .شغیط ثسٔ ٖٚمساض اِٚیٔ ، ٝشغیطی اؾز وٝ
ٔمساضی ث ٝآٖ اذشهبل زاز٘ ٜكس ٜاؾز .زض ایٗ حبِز ٔشس یه ٔمساض ثٔ ٝشغیط ٔی زٞس .اضؾبَ ٔشغیط ٔمساضزٞی ٘كس ٜثٔ ٝشس
ظٔب٘ی ٔفیس اؾز و ٝقٕب ثرٛاٞیس اظ عطیك ٔشس ٔشغیط ضا ٔمساض زٞی وٙیس .اؾشفبز ٜاظ وّٕ ٝوّیسی outثبفث اضؾبَ آضٌٔٛبٖ ثٝ
.
ٔمساض ثٔ ٝثبَ ظیط سٛخ ٝوٙیس : ضٚـ اضخبؿ ٔی قٛز ٘ٝ
;using System
;)GiveValue(out myNumber
اظ وّٕ ٝوّیسی 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 ٝی سٛاٖ ثطای افعایف ٔمبزیط آضای ٝاؾشفبز ٜوٙیٓ چ ٖٛایٗ حّم ٝثطای ذٛا٘سٖ ٔمبزیط
آضایٙٔ ٝبؾت اؾز ٘ ٝانالح آٟ٘ب .زض زاذُ ٔشس ٔب ٔمبزیط ٞط یه اظ اخعای آضای ٝضا افعایف زاز ٜایٓ ..ؾذؽ اظ ٔشس ذبضج قسٚ ٜ
٘شید ٝضا ٘كبٖ ٔی زٞیٓٔ .كبٞسٔ ٜی وٙیس وٞ ٝط یه اظ ٔمبزیط انّی ٔشس ٓٞانالح قس ٜا٘س .ضا ٜزیٍط ثطای اضؾبَ آضای ٝثٔ ٝشس
ٔ ،مساض زٞی ٔؿشمیٓ ثٔ ٝشس فطاذٛا٘ی قس ٜاؾز .ث ٝفٛٙاٖ ٔثبَ :
زض ایٗ ضٚـ ٔب آضای ٝای سقطیف ٕ٘ی وٙیٓ ثّىٔ ٝدٕٛف ٝای اظ ٔمبزیط ضا ث ٝدبضأشط اضؾبَ ٔی وٙیٓ و ٝآٟ٘ب ضا ٔب٘ٙس آضای ٝلجَٛ
وٙس .اظ آ٘دبییى ٝزض ایٗ ضٚـ آضای ٝای سقطیف ٘ىطز ٜایٓ ٕ٘ی سٛا٘یٓ زض ٔشس٘ Mainشید ٝضا چبح وٙیٓ .اٌط اظ چٙسیٗ دبضأشط زض
ٔشس اؾشفبزٔ ٜی وٙیس ٕٞیك ٝثطای ٞط یه اظ دبضأشطٞبیی و ٝآضای ٝلجٔ َٛی وٙٙس اظ یه خفز وطٚق ٝاؾشفبز ٜوٙیس .ث ٝفٛٙاٖ
ٔثبَ :
ث ٝدبضأشطٞبی ٔشس ثبال سٛخ ٝوٙیس ،دبضأشط ا )param1( َٚآضٌٔٛب٘ی اظ خٙؽ آضای ٝلجٔ َٛی وٙس ِٚی دبضأشط ز)param2( ْٚ
یه فسز نحیح .حبَ اٌط دبضأشط ز ٓٞ )param2(ْٚآضای ٝلجٔ َٛی وطز ثبیس ثطای آٖ ٓٞاظ وطٚق ٝاؾشفبزٔ ٜی وطزیٓ:
139
www.w3-farsi.com زالیف ٍ زشجوِ :یًَغ اتشاّیوی هثاًی صتاى ػی ؿاسج
ولوِ ولیذیparams
وّٕ ٝوّیسی paramsأىبٖ اضؾبَ سقساز زِرٛا ٜدبضأشطٞبی ٕٛٙٞؿ ٚشذیط ٜآٟ٘ب زض یه آضای ٝؾبز ٜضا فطأ ٓٞی آٚضز.وس ظیط
عطیم ٝاؾشفبز ٜاظ وّٕ ٝوّیسی paramsضا ٘كبٖ ٔی زٞس :
;using System
;return total
}
}
}
1 + 2 + 3 = 6
1 + 2 + 3 + 4 = 10
1 + 2 + 3 + 4 + 5 = 15
اظ وّٕ ٝوّیسی paramsلجُ اظ ٘ٛؿ زاز ٜای آضای ٝدبضأشط اؾشفبزٔ ٜی قٛز (ٔثبَ ثبال) .حبَ ٔشس ضا ؾ ٝثبض ثب سقساز ٔرشّف
foreachایٗ
آضٌٔٛبٟ٘ب فطاذٛا٘ی ٔی وٙیٓ .ایٗ آضٌٔٛبٟ٘ب زض زاذُ یه دبضأشط اظ ٘ٛؿ آضای ٝشذیطٔ ٜی ق٘ٛس .ثب اؾشفبز ٜاظ حّمٝ
آضٌٔٛبٟ٘ب ضا خٕـ ٚثٔ ٝشس فطاذٛاٖ ثطٌكز ٔی زٞیٓ.
140
www.w3-farsi.com زالیف ٍ زشجوِ :یًَغ اتشاّیوی هثاًی صتاى ػی ؿاسج
هحذٍد هسغیش
ٔشسٞب زض ؾی قبضح زاضای ٔحسٚزٞ ٜؿشٙسٔ .حسٚز ٜیه ٔشغیط ث ٝقٕب ٔی ٌٛیس و ٝزض ودبی ثط٘بٔٔ ٝی سٛاٖ اظ ٔشغیط اؾشفبزٜ
وطز ٚیب ٔشغیط لبثُ زؾشطؾی اؾز .ث ٝفٛٙاٖ ٔثبَ ٔشغیطی و ٝزض زاذُ یه ٔشس سقطیف ٔی قٛز فمظ زض زاذُ ثس٘ٔ ٝشس لبثُ
زؾشطؾی اؾزٔ .ی سٛاٖ زٔ ٚشغیط ثب ٘بْ یىؿبٖ زض زٔ ٚشس ٔرشّف سقطیف وطز .ثط٘بٔ ٝظیط ایٗ ازفب ضا اثجبر ٔی وٙس :
;using System
;)(DemonstrateScope
ٔكبٞسٔ ٜی وٙیس و ٝحشی اٌط ٔب زٔ ٚشغیط ثب ٘بْ یىؿبٖ سقطیف وٙیٓ و ٝزاضای ٔحسٚزٞ ٜبی ٔشفبٚسی ٞؿشٙسٔ ،ی سٛاٖ ثٞ ٝط
ٞ Mainیچ اضسجبعی ثٔ ٝشغیط زاذُ ٔشس وساْ اظ آٟ٘ب ٔمبزیط ٔرشّفی اذشهبل زازٔ .شغیط سقطیف قس ٜزض زاذُ ٔشس
)(٘ DemonstrateScopeساضزٚ .لشی ثٔ ٝجحث والؾٟب ضؾیسیٓ زض ایٗ ثبض ٜثیكشط سٛضیح ذٛاٞیٓ زاز.
خاساهسشّای اخسیاسی
دبضأشطٞبی اذشیبضی ٕٞبٍ٘ ٝ٘ٛو ٝاظ اؾٕكبٖ دیساؾز اذشیبضی ٞؿشٙس ٔ ٚی سٛاٖ ث ٝآٟ٘ب آضٌٔٛبٖ اضؾبَ وطز یب ٘ .ٝایٗ دبضأشطٞب
زاضای ٔمبزیط دیكفطضی ٞؿشٙس .اٌط ث ٝای ٍٝ٘ٛٙدبضأشطٞب آضٌٔٛب٘ی اضؾبَ ٘كٛز اظ ٔمبزیط دیكفطو اؾشفبزٔ ٜی وٙٙس .ثٔ ٝثبَ
ظیط سٛخ ٝوٙیس :
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
ٚلشی ٔشسٞبی ثب چٙسیٗ دبضأشط اذشیبضی فطاذٛا٘ی ٔی ق٘ٛس ثبیس ث ٝدبضأشطٞبیی و ٝاظ ِحبػ ٔىب٘ی زض آذط ثمی ٝدبضأشطٞب
٘یؿشٙس ٔمساض اذشهبل زاز .ث ٝیبز زاقش ٝثبقیس وٕ٘ ٝی سٛاٖ ثطای ٘بزیسٌ ٜطفشٗ یه دبضأشط ث ٝنٛضر ظیط فُٕ وطز :
اٌط ثرٛاٞیس اظ یه دبضأشط اذشیبضی و ٝزض آذط دبضأشطٞبی زیٍط ٘یؿز ضز قٛیس ٚآٖ ضا ٘بزیس ٜثٍیطیس ثبیس اظ ٘بْ دبضأشطٞب
اؾشفبز ٜوٙیس.
142
www.w3-farsi.com زالیف ٍ زشجوِ :یًَغ اتشاّیوی هثاًی صتاى ػی ؿاسج
ثطای اؾشفبز ٜاظ ٘بْ آضٌٔٛبٟ٘ب قٕب ث ٝضاحشی ٔی سٛا٘یس ٘بْ ٔرهٛل دبضأشط ٚثقس اظ ٘بْ فالٔز وبِٗ ( ٚ ) :ثقس ٔمساض اذشهبل
قس ٜث ٝآٖ ضا ٘ٛقز ٔب٘ٙس ( ٔ . )optional2: 100شس ثبال ٞیچ آضٌٔٛب٘ی ثطای دبضأشط اذشیبضی ٘ optional1ساضز ثٙبثطایٗ ایٗ
دبضأشط اظ ٔمساض دیكفطضی و ٝزض ظٔبٖ سقطیف ٔشس ث ٝآٖ اذشهبل زاز ٜقس ٜاؾز اؾشفبزٔ ٜی وٙس.
ػشتاسگزاسی هسذّا
ؾط ثبضٌصاضی ٔشسٞب ث ٝقٕب اخبظٔ ٜی زٞس و ٝزٔ ٚشس ثب ٘بْ یىؿبٖ سقطیف وٙیس و ٝزاضای أضب ٚسقساز دبضأشطٞبی ٔرشّف
ٞؿشٙس .ثط٘بٔ ٝاظ ضٚی آضٌٔٛبٟ٘بیی و ٝقٕب ثٔ ٝشس اضؾبَ ٔی وٙیس ث ٝنٛضر ذٛزوبض سكریم ٔی زٞس و ٝوساْ ٔشس ضا
فطاذٛا٘ی وطز ٜایس یب وساْ ٔشس ٔس ٘ؾط قٕبؾز .أضبی یه ٔشس ٘كبٖ زٙٞس ٜسطسیت ٛ٘ ٚؿ دبضأشطٞبی آٖ اؾز.
ث ٝایٗ ٘ىش ٝسٛخ ٝوٙیس وٛ٘ ٝؿ ثطٌكشی ٘ ٚبْ دبضأشطٞب قبُٔ أضبی ٔشس ٕ٘ی ق٘ٛس .زض ٔثبَ ظیط ٕ٘ ٝ٘ٛای اظ ؾطثبضٌصاضی ٔشس ٞب
آٔس ٜاؾز.
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اؾز .زض ٘شید ٝاظ ایٗ ٔمساض ثطای ٔشٛلف وطزٖ ثبظٌكز اؾشفبزٔ ٜی وٙیٓ.
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ضا
٘كبٖ ٔی زٞس.
145
www.w3-farsi.com زالیف ٍ زشجوِ :یًَغ اتشاّیوی هثاًی صتاى ػی ؿاسج
;factorial = 1
ایٗ وس اظ وس ٔقبزَ ثبظٌكشی آٖ آؾبٖ سط اؾز .اظ ثبظٌكز زض ظٔیٞ ٝٙبی ذبنی زض فّ ْٛوبٔذیٛسط اؾشفبزٔ ٜی قٛز .اؾشفبز ٜاظ
ثبظٌكز ظٔب٘ی عجیقی سط ث٘ ٝؾط ٔی ضؾس ؤ ٝب اظ غیط ثبظٌكشی ( )Iterationاؾشفبز ٜوٙیٓ .اؾشفبز ٜاظ ثبظٌكز حبفؾ ٝظیبزی
اقغبَ ٔی وٙس دؽ اٌط ؾطفز ثطای قٕب ٔ ٟٓاؾز اظ آٖ اؾشفبز٘ ٜىٙیس.
ًوایٌذُ ّا()Delegates
ٞ Delegateب ا٘ٛافی ٞؿشٙس ؤ ٝطخـ یه ٔشس ضا زض ذٛز شذیطٔ ٜی وٙٙسٕٞ .چٙیٗ ٔی سٛا٘ٙس ضفشبض ٞط ٔشسی ضا وذی ثطزاضی
وٙٙس .ثطای سقطیف یه delegateاظ وّٕ ٝوّیسی delegateاؾشفبزٔ ٜی قٛز .سقطیف یه delegateثؿیبض قجی ٝث ٝسقطیف یه
ٔشس اؾز ثب ایٗ سفبٚر ؤ ٝشس ثس٘ ٝزاضز ِٚی٘ delegateساضز Delegate .زلیمب ٔب٘ٙس ٔشسٞب زاضای ٘ٛؿ ثطٌكشی ٔ ٚدٕٛف ٝای
اظ دبضأشطٞب ٞؿشٙسٞ Delegate .ب ٔی ٌٛیٙس و ٝچٛ٘ ٝؿ ٔشسی ضا ٔی سٛا٘ٙس زض ذٛز شذیط ٜوٙٙس .زض ظیط ٘ح ٜٛسقطیف
٘ delegateكبٖ زاز ٜقس ٜاؾز :
زض ظیط ٘ح ٜٛاؾشفبز ٜاظ یه ٚ delegateفٛایس آٖ ٘كبٖ زاز ٜقس ٜاؾز :
146
www.w3-farsi.com زالیف ٍ زشجوِ :یًَغ اتشاّیوی هثاًی صتاى ػی ؿاسج
زض ذظ delegate ، 5سقطیف قس ٜاؾز .اظ وّٕ ٝوّیسی delegateثطای ٘كبٖ زاز ٜآٖ اؾشفبز ٜقس ٜاؾز .ث ٝز٘جبَ آٖ ٘ٛؿ
ثطٌكشی ٔشسی و ٝلجٔ َٛی وٙس ٓٞآٔس ٜاؾز .ثطای ٘بٍٔصاضی ٔ delegateب٘ٙس ٔشسٞب اظ ضٚـ Pascalاؾشفبزٔ ٜی وٙیٓ.
ٕٞچٙیٗ ثطای سكریم ثٟشط آٟ٘ب ثٟشط اؾز اظ وّٕ delegateٝزض ٘بٍٔصاضی آٟ٘ب اؾشفبز ٜقٛز .دبضأشطٞبیی و ٝثطایdelegate
سقطیف ٔی وٙیٓ ثبیس اظ ٘ؾط ٘ٛؿ ٚسقساز ثب دبضأشطٞبی ٔشسٞب ثطاثط ثبقس.
Delegateی و ٝزض ذظ 5سقطیف قس ٜاؾز فمظ ٔطخـ ٔشسٞبیی ضا لجٔ َٛی وٙس زاضای ٔمساض ثطٌكشی ٘یؿشٙس ٚز ٚدبضأشط اظ
٘ٛؿ intزاض٘س .ثقس اظ سقطیف delegateزٔ ٚشس ثب أضبی زلیمب ٔكبث ٝث ٝفٛٙاٖ ٕ٘بیٙس ٜسقطیف ٔی وٙیٓ ٞ .ط زٔ ٚشس ٞیچ
ٔمساضثطٌكشی ٘ساض٘س ٞ ٚط ز 2 ،ٚآضٌٔٛبٖ اظ ٘ٛؿ intلجٔ َٛی وٙٙس .زض زاذُ ٔشس Mainیه ٔشغیط اظ ٘ٛؿ delegateی وٝ
لجال سقطیف وطز ٜایٓ ،سقطیف ٔی وٙیٓ (ذظ .) 19ایٗ ٔشغیط اقبض ٜثٔ ٝشسی زاضز و ٝأضبی آٖ ثب أضبیٔ Delegateغبثمز زاضز.
ثط٘بٔ ٝاظ وبضثط ٔی ذٛاٞس زٔ ٚمساض اظ ٘ٛؿ intضا ٚاضز وٙس .ثقس اظ ٚاضز وطزٖ ٔمبزیط ٚاضز اِٚیٗ زؾشٛض ٔ ifی قٛیٓ ،چٙب٘چٝ
ٔمساض اِٚیٗ فسزی و ٝوبضثط ٚاضز وطز ٜاظ زٔٚیٗ فسز ٚاضز قس ٜوٕشط ثبقس ،ز ٚفسز ثب ٓٞخٕـ ٔی ق٘ٛس ،زض غیط ایٙهٛضر اٌط
ٔمساض اِٚیٗ فسز ثعضٌشط یب ٔؿبٚی زٔٚیٗ فسز ثبقس اظ ٓٞوٓ ٔی ق٘ٛس .ثطای اضخبؿ یه ٔشس ث ٝیه delegateث ٝنٛضر ظیط
فُٕ ٔی وٙیٓ :
ٚلشی یه 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ث ٝفٛٙاٖ ٘ٛؿ زاز ٜای آیشٕٟبی آٖ اؾفبز ٜوٙیس.
٘ٛؿ زاز ٜای byteفمظ قبُٔ ٔمبزیط ثیٗ 0سب ٔ 255ی قٛز ثٙبثط ایٗ سقساز ٔمبزیط و ٝقٕب ٔی سٛا٘یس ث enumerationٝاضبفٝ
وٙیس ٔحسٚز ٔی ثبقس.
149
www.w3-farsi.com یًَغ اتشاّیوی: ِزالیف ٍ زشجو هثاًی صتاى ػی ؿاسج
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
}
ٔمساض4 سب1ب ثبٟ٘ط یه اظ آٞ ٝز زاضز وٛخٚ ز خغطافیبییٟبض خٟ ٘بْ چenumeration ٝ٘ زض زاذُ ثس.ٓیٞ ٔی زٝٔ ضا ازاٝٔثط٘ب
.سٙ ٔی وٜز شذیطٛز ضا زض ذٟ ٔمساض یه خٝ اؾز وٜ یه ٔشغیط سقطیف قس15 زض ذظ. ا٘سٜی قسٞز
150
www.w3-farsi.com زالیف ٍ زشجوِ :یًَغ اتشاّیوی هثاًی صتاى ػی ؿاسج
; enumType variableName
زض ایٙدب ٛ٘ enumTypeؿ زاز ٜقٕبضقی (ٔثال Directionیب ٔؿیط) ٔی ثبقس ٘ variableName ٚیع ٘بٔی اؾز و ٝثطای آٖ
ا٘شربة وطز ٜایٓ و ٝزض ٔثبَ لجُ myDirectionاؾز .ؾذؽ یه ٔمساض ثٔ ٝشغیط myDirectionاذشهبل ٔی زٞیٓ (ذظ
.)17ثطای اذشهبل یه ٔمساض ث ٝنٛضر ظیط فُٕ ٔی وٙیٓ :
;variable = enumType.value
اثشسا ٘ٛؿ Enumerationؾذؽ فالٔز ٘مغ ٚ ٝثقس ٔمساض آٖ (ٔثال )Northضا ٔی ٘ٛیؿیٓٔ .ی سٛاٖ یه ٔشغیط ضا فٛضا ،ث ٝضٚـ
ظیط ٔمساض زٞی وطز :
حبَ زض ذظ 19ثب اؾشفبز ٜاظ )(ٔ Console.WriteLineمساض myDirectionضا چبح ٔی وٙیٓ .سٛخ ٝوٙیس و ٝثب اؾشفبز ٜاظ
ٔشس )(ٔ ToStringمساض فسزی myDirectionضا ث ٝضقش ، ٝخٟز چبح سجسیُ ٔی وٙیٓ .سهٛض وٙیس و ٝاٌط enumeration
٘جٛز قٕب ٔدجٛض ثٛزیس و ٝث ٝخبی وّٕبر ،افساز ضا حفؼ وٙیس چٔ ٖٛمبزیط enumerationزض ٚالـ افسازی ٞؿشٙس و ٝثب ٘بْ
ٔؿشقبض سٛؾظ قٕب یب ٞط وؽ زیٍط سقطیف ٔی ق٘ٛسٔ .شغیطٞبی قٕبضقی ٔی سٛا٘ٙس ث ٝا٘ٛاؿ زیٍطی ٔب٘ٙس intیب stringسجسیُ
ق٘ٛسٕٞ .چٙیٗ یه ٔمساض ضقش ٝای ٔی سٛا٘س ثٛ٘ ٝؿ قٕبضقی ٔقبزِف سجسیُ قٛز.
151
www.w3-farsi.com زالیف ٍ زشجوِ :یًَغ اتشاّیوی هثاًی صتاى ػی ؿاسج
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
Direction: 10
اظ آ٘دبییى ٝفسز ٔ 10مساض ٞیچ وساْ اظ آیشٕٟبی ٘ٛؿ قٕبضقی ٔثبَ ثبال ٘یؿز (ٔمساض آیشٕٟبی ٘ٛؿ قٕبضقی ٔثبَ ثبال
ٞ 10ط وساْ اظ ث ٝسطسیت ٔ 3 ٚ 2 ٚ 1 ٚ 0ی ثبقس)ذطٚخی Consoleذٛز فسز ضا ٘كبٖ ٔی زٞس ِٚی اٌط ث ٝخبی فسز
ٔمبزیط فسزی شوط قس ٜضا لطاض زٞیس آیشٓ ٔقبزَ ثب آٖ ٕ٘بیف زاز ٜذٛاٞس قس.
” “Westضا ثٛ٘ ٝؿ قٕبضقی ٔی سٛاٖ یه ٘ٛؿ ضقش ٝای ضا ثٛ٘ ٝؿ قٕبضقی سجسیُ وطزٔ .ثال ٔی ذٛاٞیس ضقشٝ
ٔ Direction.Westثبَ ثبال سجسیُ وٙیس .ثطای ایٗ وبض ثبیس اظ والؼ ٚ Enumفضبی ٘بْ Systemث ٝنٛضر ظیط اؾشفبز ٜوٙیس :
ٔشس )( Enum.Parseزاضای ز ٚدبضأشط اؾز .اِٚیٗ دبضأشط ٘ٛؿ قٕبضقی اؾز .ثب اؾشفبز ٜاظ فٍّٕط ٛ٘ typeofؿ قٕبضقی ضا
ثطٌكز ٔی زٞیٓ .زٔٚیٗ دبضأشط ،ضقش ٝای اؾز و ٝلطاض اؾز ثٛ٘ ٝؿ قٕبضقی سجسیُ قٛز .چٔ ٖٛمساض ثطٌكشی اظ ٘ٛؿ قی
( )objectاؾز ثٙبثطایٗ یه سجسیُ ٔٙبؾت ٘ٛؿ قٕبضقی الظْ اؾز .ثب ایٗ خعییبر االٖ ٔی زا٘یٓ و ٝچٍ ٝ٘ٛیه ضقش ٝضا ثٛ٘ ٝؿ
قٕبضقی سجسیُ وٙیٓ.
اٌط ضقش ٝای و ٝثٔ ٝشس اضؾبَ ٔی وٙیس خع آیشٕٟبی زاز ٜقٕبضقی ٘جبقس ثب ذغب ٔٛاخٔ ٝی قٛیس.
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 زالیف ٍ زشجوِ :یًَغ اتشاّیوی هثاًی صتاى ػی ؿاسج
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ضا ث ٝخبی ایٙى ٝث ٝآٟ٘ب ٔطاخق ٝوٙس ،وذی ثطزاضی ٔی وٙس .والؼ یه ؾبذشبض
ؾبز ٜاؾز ِٚی اظ ا٘ٛاؿ ٔطخـ ث ٝحؿبة ٔی آیس .زض ٔٛضز والؼ زض زضؾٟبی آیٙس ٜسٛضیح ذٛاٞیٓ زازٔ .ی سٛاٖ ث ٝؾبذشبض ٔ ،شس
ٓٞاضبف ٝوطزٔ .ثبَ ظیط انالح قسٔ ٜثبَ لجُ اؾز.
155
www.w3-farsi.com یًَغ اتشاّیوی: ِزالیف ٍ زشجو هثاًی صتاى ػی ؿاسج
Employee 2 Details
Name: Mike
Age: 23
Salary: $800.00
Mike thanked you!
ٔمساض فیّسٚ سٞ ٕ٘بیف ٘كبٖ ٔی زٝ ایٗ ٔشس یه دیبْ ضا زض نفح. اؾزٜ یه ٔشس زض زاذُ ؾبذشبض سقطیف قس12 سب9 طٛزض ذغ
ْ ثقس اظ فالٔز زار ٘بٝىٙ خبی ایٝ ث،ا٘ی ٔشسٛ ثطای فطاذ.سٞ ٘كبٖ ٔی زٕٝ٘ٛ٘ طٞ فطز ثطایٝحهط ثٙٔ ْ یه دیبٚ ٝ ضا ٌطفشname
156
www.w3-farsi.com زالیف ٍ زشجوِ :یًَغ اتشاّیوی هثاًی صتاى ػی ؿاسج
فیّس ضا ثٛٙیؿیٓ٘ ،بْ ٔشس ضا ٘ٛقش ٚ ٝثقس اظ آٖ ٕٞب٘غٛض و ٝزض ٔثبَ ثبال ٔكبٞسٔ ٜی وٙیس (ذغٛط )44 ٚ 35دطا٘شعٞب ضا لطاض ٔی
زٞیٓ ٚزض نٛضسی ؤ ٝشس ث ٝآضٌٔٛبٖ ٘ ٓٞیبظ زاقز زض زاذُ دطا٘شع آٟ٘ب ضا ٔی ٘ٛیؿیٓ.
157