14
ﺷﺮﻛﺖ ﭘﻴﺸﮕﺎﻣﺎﻥ ﻓﻨﺎﻭﺭﻱ ﻛﻠﻴﻪ ﺣﻘﻮﻕ ﺍﻳﻦ ﺟﺰﻭﻩ ﺁﻣﻮﺯﺷﻲ ﻣﺘﻌﻠﻖ ﺑﻪ ﺳﺎﻳﺖ ﺁﻣﻮﺯﺵ ﺍﻟﻜﺘﺮﻭﻧﻴﻜﻲ ﭘﺮﺷﻴﺎ ﻣﻴﺒﺎﺷﺪ ﺟﺰﻭﻩ ﺁﻣﻮﺯﺷﻲ ﻛﻼﺱASP.NET ﺍﺳﺘﺎﺩ ﺩﻭﺭﻩ: ﻭﺣﻴﺪ ﻧﺼﻴﺮﻱ) [email protected] ( ﻓﺼﻞ ﺩﻭﻡ: ﺁﺷﻨﺎ ﯽ ﺑﺎ ﻣﻘﺪﻣﺎﺕ ﺯﺑﺎﻥ ﺑﺮﻧﺎﻣﻪ ﻧﻮ ﺴﯽ ﺷﯽ ﮔﺮﺍﯼC# ﻭ ﺍﻳﺠﺎﺩ ﺍﻭﻟﻴﻦ ﺑﺮﻧﺎﻣﻪASP.NET ﻣﻘﺪﻣﻪ: ﺩﺭ ﺍﻳﻦ ﻓﺼﻞ ﺑﺎ ﺍﺻﻮﻝ ﭘﺎﻳﻪ ﺍﻱC# ﻭ ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺴﻲ ﺁﻥ ﺑﺮﺍﻱ ﺍﻳﺠﺎﺩ ﺻﻔﺤﺎﺕASP.NET ﺁﺷﻨﺎ ﻣﻲ ﺷﻮﻳﻢ. ﺍﮔﺮ ﺑﺎ ﺯﺑﺎﻥC ﺁﺷﻨﺎﻳﻲ ﺩﺍﺭﻳﺪ ، ﻓﺼﻞ ﺟﺎﺭﻱ ﻓﺼﻠﻲ ﺳﺎﺩﻩ ﻭ ﺑﺴﻴﺎﺭ ﺭﻭﺍﻧﻲ ﺑـﺮﺍﻱ ﺷـﻤﺎ ﺧﻮﺍﻫـﺪ ﺑـﻮﺩ ﻭ ﺩﺭ ﻏﻴـﺮ ﺍﻳﻨﺼﻮﺭﺕ ﺑﺎ ﻛﻤﻲ ﭘﺸﺘﻜﺎﺭ ﻣﺸﻜﻞ ﺣﻞ ﺧﻮﺍﻫﺪ ﺷﺪ. ﺍﻳﻦ ﻣﺮﻭﺭ ﺑﺴﻴﺎﺭ ﻛﺎﺭﺑﺮﺩﻱ ﻭ ﺑﻪ ﺩﻭﺭ ﺍﺯ ﻫﺮﮔﻮﻧﻪ ﻓﻠﺴﻔﻪ ﺑﺎﻓﻲ ﻣﻲ ﺑﺎﺷﺪ ﻭ ﺧﻴﻠﻲ ﺳﺮﻳﻊ ﻛﺪ ﻧﻮﺷﺘﻦ ﺭﺍ ﺷﺮﻭﻉ ﺧﻮﺍﻫﻴﻢ ﻛﺮﺩ. ﺑﺪﻳﻬﻲ ﺍﺳﺖ ﻛﻪ ﻓﻘﻂ ﺑﺮﺍﻱ ﺁﺷﻨﺎﻳﻲ ﻛﺎﻣﻞ ﺑﺎ ﺍﺳﺎﺱ ﻭ ﺷﺎﻟﻮﺩﻩ ﻱ ﺯﺑﺎﻥ ﺳﻲ ﺷﺎﺭﭖ ﺑﻪ ﻛﺘﺎﺑﻲ ﻛﺎﻣﻞ ﻧﻴﺎﺯ ﻣﻲ ﺑﺎ ﺷﺪ ﻭ ﻧﻪ ﻳﻚ ﻓﺼﻞ ﭼﻨﺪ ﺻﻔﺤﻪ ﺍﻱ. ﺁﺷﻨﺎﻳﻲ ﺑﺎ ﻓﻀﺎﻫﺎﻱ ﻧﺎﻡ) NameSpaces : ( ﻓﻀﺎﻫﺎﻱ ﻧﺎﻡ ﺭﻭﺷﻲ ﺑﺮﺍﻱ ﻣﺪﻳﺮﻳﺖ ﻛﺪ ﻧﻮﻳﺴﻲ ﻫﺴﺘﻨﺪ. ﺑﺮﺍﻱ ﻣﺜﺎﻝ ﺁﻧﻬﺎ ﺍﻳﺠﺎﺩ ﺷﺪﻩ ﺍﻧﺪ ﺗـﺎ ﺗـﺪﺍﺧﻠﻲ ﺑـﻴﻦ ﻧـﺎﻡ ﻫﺎﻱ ﺗﻮﺍﺑﻊ ﺩﺭ ﺑﺮﻧﺎﻣﻪ ﺷﻤﺎ ﺭﺥ ﻧﺪﻫﺪ. ﺍﻳﻦ ﻣﺴﺎﻟﻪ ﺩﺭ ﭘﺮﻭﮊﻩ ﻫﺎﻱ ﺑﺰﺭﮒ ﺧﻮﺩ ﺭﺍ ﻧﺸﺎﻥ ﻣﻲ ﺩﻫﺪ ﻭ ﻣﻤﻜﻦ ﺍﺳﺖ ﺩ ﺁﻳﺘﻢ ﺩﺭ ﻳﻚ ﭘﺮﻭﮊﻩ ﻧﺎﻡ ﻫﺎﻱ ﻳﻜﺴﺎﻧﻲ ﺭﺍ ﭘﻴﺪﺍ ﻛﻨﻨﺪ. ﺑـﺪﻳﻦ ﻭﺳـﻴﻠﻪ ﺍﻳـﻦ ﺷـﺎﻧﺲ ﺗﺼـﺎﺩﻡ ﻭ ﺗـﺪﺍﺧﻞ ﻛـﺎﻫﺶ ﭘﻴـﺪﺍ ﻣﻲ ﻛﻨﺪ. ﺑﺮﺍﻱ ﺍﻳﺠﺎﺩ ﻳﻚ ﻓﻀﺎﻱ ﻧﺎﻡ ﺑﻪ ﺻﻮﺭﺕ ﺯﻳﺮ ﻋﻤﻞ ﻣﻲ ﺷﻮﺩ:

Microsoft Word - asp_net_ch02_final

Embed Size (px)

DESCRIPTION

‫ﺁﺷﻨﺎ‬ ‫ﻳ‬ ‫ﻧﻮ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﺯﺑﺎﻥ‬ ‫ﻣﻘﺪﻣﺎﺕ‬ ‫ﺑﺎ‬ ‫ﯽ‬ ‫ﻳ‬ ‫ﮔﺮﺍﯼ‬ ‫ﺷﯽ‬ ‫ﺴﯽ‬ C# ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﺍﻭﻟﻴﻦ‬ ‫ﺍﻳﺠﺎﺩ‬ ‫ﻭ‬ ‫ﺍﻱ‬ ‫ﭘﺎﻳﻪ‬ ‫ﺍﺻﻮﻝ‬ ‫ﺑﺎ‬ ‫ﻓﺼﻞ‬ ‫ﺍﻳﻦ‬ ‫ﺩﺭ‬ C# ‫ﺻﻔﺤﺎﺕ‬ ‫ﺍﻳﺠﺎﺩ‬ ‫ﺑﺮﺍﻱ‬ ‫ﺁﻥ‬ ‫ﻧﻮﻳﺴﻲ‬ ‫ﺑﺮﻧﺎﻣﻪ‬ ‫ﻭ‬ ASP.NET ‫ﺷﻮﻳﻢ‬ ‫ﻣﻲ‬ ‫ﺁﺷﻨﺎ‬ . ‫ﺯﺑﺎﻥ‬ ‫ﺑﺎ‬ ‫ﺍﮔﺮ‬ C ‫ﺑـﺮﺍﻱ‬ ‫ﺭﻭﺍﻧﻲ‬ ‫ﺑﺴﻴﺎﺭ‬ ‫ﻭ‬ ‫ﺳﺎﺩﻩ‬ ‫ﻓﺼﻠﻲ‬ ‫ﺟﺎﺭﻱ‬ ‫ﻓﺼﻞ‬ ، ‫ﺩﺍﺭﻳﺪ‬ ‫ﺁﺷﻨﺎﻳﻲ‬ ‫ﻏﻴـﺮ‬ ‫ﺩﺭ‬ ‫ﻭ‬ ‫ﺑـﻮﺩ‬ ‫ﺧﻮﺍﻫـﺪ‬ ‫ﺷـﻤﺎ‬

Citation preview

Page 1: Microsoft Word - asp_net_ch02_final

1

شركت پيشگامان فناوري

كليه حقوق اين جزوه آموزشي متعلق به سايت آموزش الكترونيكي پرشيا ميباشد )[email protected]( نصيريوحيد : استاد دوره ASP.NETجزوه آموزشي كالس

:دومفصل

و ايجاد اولين برنامه #Cسی شی گرای يی با مقدمات زبان برنامه نويآشناASP.NET

:مقدمه

. آشنا مي شويمASP.NET و برنامه نويسي آن براي ايجاد صفحات #C در اين فصل با اصول پايه اي شـما خواهـد بـود و در غيـر آشنايي داريد ، فصل جاري فصلي ساده و بسيار رواني بـراي Cاگر با زبان

اين مرور بسيار كاربردي و به دور از هرگونه فلسفه بافي . اينصورت با كمي پشتكار مشكل حل خواهد شدبديهي است كه فقط براي آشنايي كامل با اساس . مي باشد و خيلي سريع كد نوشتن را شروع خواهيم كرد

.شد و نه يك فصل چند صفحه اي و شالوده ي زبان سي شارپ به كتابي كامل نياز مي با

) : NameSpaces(آشنايي با فضاهاي نام

براي مثال آنها ايجاد شده اند تـا تـداخلي بـين نـام . فضاهاي نام روشي براي مديريت كد نويسي هستند و اين مساله در پروژه هاي بزرگ خود را نشان مي دهد و ممكن است د. هاي توابع در برنامه شما رخ ندهد

بـدين وسـيله ايـن شـانس تصـادم و تـداخل كـاهش پيـدا . آيتم در يك پروژه نام هاي يكساني را پيدا كنند :براي ايجاد يك فضاي نام به صورت زير عمل مي شود. مي كند

Page 2: Microsoft Word - asp_net_ch02_final

2

شركت پيشگامان فناوري

كليه حقوق اين جزوه آموزشي متعلق به سايت آموزش الكترونيكي پرشيا ميباشد )[email protected]( نصيريوحيد : استاد دوره ASP.NETجزوه آموزشي كالس

namespace anyName { ………. Class anyClassName { …….. }

……. }

بـراي اسـتفاده از آن . مي باشد System نت فريم ورك ، فضاي نام يكي از فضاهاي نام پايه اي در دات

:مي توان از كد زير كمك گرفت using System;

. مي باشند و در خارج از كد شما قابل دسترسي هستندpublic تمام فضاهاي نام به صورت پيش فرض :روش استفاده از آنها به صورت زير است

ProjectName.NameSpace.ClassName.MemberName

:براي مثال اگر آرايه اي را در دات نت بخواهيم مرتب و سورت كنيم حداقل دو راه براي نوشتن وجود داردSystem.Array.Sort(strArray);

ويا using System; Array.Sort(strArray);

.بدين صورت خالصه نويسي در كد صورت مي گيرد

ها ، تعريف متغيـر و مقـدار دهـي NameSpaceاستفاده از مروري بر نحوه : برنامه اول .اوليه به آن ، توابع و خواص ها

كليك نماييد تـا New Project ويژوال استوديو دات نت را اجرا كنيد و در صفحه ي باز شده روي دكمه

انتخاب كنيد Visual C# Project گزينه Projectاز پنل . را شروع كردASP.NETبتوان يك پروژه جديد مـي توانيـد Locationدر قسمت . را برگزينيدASP.NET Web Applicationو از پنل سمت چپ گزينه

Page 3: Microsoft Word - asp_net_ch02_final

3

شركت پيشگامان فناوري

كليه حقوق اين جزوه آموزشي متعلق به سايت آموزش الكترونيكي پرشيا ميباشد )[email protected]( نصيريوحيد : استاد دوره ASP.NETجزوه آموزشي كالس

كرده ايد ، آنرا در مشخص كنيد و يا اگر دايركتوري مجازي درست Homeنامي دلخواه را در دايركتوري ليك كنيد تا فايل هاي اوليه پروژه ساخته ك Okپس از مشخص كردن كار، روي دكمه . اينجا انتخاب نماييد

) .٢و١شكل هاي ( شوند

#VC با استفاده از ASP.NET آغاز كردن يك پروژه جديد -١شكل

Page 4: Microsoft Word - asp_net_ch02_final

4

شركت پيشگامان فناوري

كليه حقوق اين جزوه آموزشي متعلق به سايت آموزش الكترونيكي پرشيا ميباشد )[email protected]( نصيريوحيد : استاد دوره ASP.NETجزوه آموزشي كالس

. ايجاد مي شوندVS.NET فايل هايي كه به صورت اتوماتيك توسط -٢شكل

). ٣شكل ( ار دهيد را روي فرم قر) Button( و يك دكمه Label كنار صفحه يك ToolBox از

. قرار دادن يك دكمه و يك ليبل بر روي فرم-٣شكل

حاال روي دكمه دوبار كليك كنيد تا بتوانيم در تابعي كه در هنگام رخ دادن رويداد كليك شدن بر روي دكمه وينـد هم مـي گ Code Behindاگر به صفحه ي باز شده كه به آن . صدا زده مي شود بتوانيم كد بنويسيم

.دقت كنيد به صورت پيش فرض يك سري از فضاهاي نام مفيد و الزم در اين سورس گنجانده شده است

Page 5: Microsoft Word - asp_net_ch02_final

5

شركت پيشگامان فناوري

كليه حقوق اين جزوه آموزشي متعلق به سايت آموزش الكترونيكي پرشيا ميباشد )[email protected]( نصيريوحيد : استاد دوره ASP.NETجزوه آموزشي كالس

ايـن اولـين برنامـه ي مـن ! سـالم "روي اين دكمه كليك كرد بـه او جملـه ي مي خواهيم هر بار كاربر ني تـرين راه انتخـاب براي اينكار ، فقـط بـراي مـرور يـك سـري از اصـول ، طـوال . را نشان دهد "! است

.مي شود

بهتر است نوع متغير به صـورت خالصـه در . تعريف كنيد strText به نام stringيك متغير از نوع -١ .ابتداي نام متغير ذكر شود

) . و يا جمله ي باال " سالم "براي مثال ( آنرا مقدار دهي اوليه كنيد -٢ تا متغيري را مقدار دهي اوليه نكنيد نمي توان از #Cدر . به راحتي مي توان داخل آن فارسي نوشت -٣

.آن استفاده كردنـام . مربوط ليبلي كه روي فرم گذاشته ايم اين متغير را نسبت دهـيم Textمي خواهيم به خاصيت -٤

را بنويسيد به همراه يك نقطه در جلوي آن يك منو كه تمـام توانـايي هـاي ايـن Label1ليبل يعني آنرا انتخاب كنيد و متغيـر فـوق را Textگزينه ) . ٤شكل ( ش مي دهد باز خواهد شد كنترل را نماي

اگر با كامپايلرهاي ويژوال كار كرده باشيد مالحظه مي كنيد كه همه چيز ماننـد ( به آن نسبت دهيد ) . آنها مي باشد

.مربوط به كنترل ليبل... نمايش دهنده انواع متدها ، خواص و autocomplete منوي -٤شكل

بـا كليـك كـردن بـر روي . كليك كنيد تا برنامه در مرور گر وب اجـرا شـود F5حاال بر روي دكمه -٥

اينترنـت اكسـپلورر نوشـته Address Barبه آدرسي كـه در . دكمه ، سالم ، نمايش داده مي شود . مي شود نيز دقت كنيد

Page 6: Microsoft Word - asp_net_ch02_final

6

شركت پيشگامان فناوري

كليه حقوق اين جزوه آموزشي متعلق به سايت آموزش الكترونيكي پرشيا ميباشد )[email protected]( نصيريوحيد : استاد دوره ASP.NETجزوه آموزشي كالس

.دكمه در مرورگر وب مايكروسافت خروجي برنامه پس از كليك كردن روي -٥شكل

:براي فارسي نويسي به نكات زير بايد توجه كرد. عمدا اين مثال را انتخاب كرده ام سـپس در يـك . كليك كنيد WebForm1.aspx مربوط به Tabدر محيط ويژوال استوديو بر روي -١

حيط ويژوال در سمت چپ م Documentجاي خالي روي صفحه كليك نماييد تا صفحه ي خواص Unicode كليك كنيد و گزينه ي charsetحاال روي منوي پايين افتادني . استوديو نمايش داده شود

(UTF-8) ٦شكل ( را انتخاب كنيد. ( يـك saveروي دكمـه . را انتخـاب كنيـد save asحاال از منوي فايـل گزينـه ي ! باز هم كافي نيست -٢

حـاال روي ). ٧شـكل ( ده تا يك منوي جديـد بـاز شـود روي آن كليك نمو . عالمت مثلث قرار دارد كليك نماييد و صفحه ي اخطار باز شده را تاييد كنيد و از صفحه ي Save with encodingگزينه

. را برگزينيـد Unicode ( UTF-8 with signature)ي گزينه Encodingظاهر شده بعدي از آيتم !حاال يك نفس راحت بكشيد

خيال راحت و بدون هيچ نگراني در مورد به هم ريختن فرمـت فارسـي برنامـه مـي توانيـد از اين پس با هم همين کار را انجام مي دهـد advanced save optionsدر منوی فايل گزينه . ( برنامه ها را اجرا نماييد

)و اين گزينه فقط در مورد سورس ها مهيا است

Page 7: Microsoft Word - asp_net_ch02_final

7

شركت پيشگامان فناوري

كليه حقوق اين جزوه آموزشي متعلق به سايت آموزش الكترونيكي پرشيا ميباشد )[email protected]( نصيريوحيد : استاد دوره ASP.NETجزوه آموزشي كالس

ئه مي شود و روال كـار از ايـن پـس نيـز بـه همـين صـورت كد كامل شده اين قسمت به همراه فصل ارا .خواهد بود

. صفحه خروجي charset انتخاب يونيكد براي مشخص كردن -٦شكل

. فرمت فايل نيز بايد يونيكد انتخاب شود-٧شكل

Page 8: Microsoft Word - asp_net_ch02_final

8

شركت پيشگامان فناوري

كليه حقوق اين جزوه آموزشي متعلق به سايت آموزش الكترونيكي پرشيا ميباشد )[email protected]( نصيريوحيد : استاد دوره ASP.NETجزوه آموزشي كالس

:مروي بر مفاهيم بكار گرفته شده در كد ارائه شده

: فرمت كردن كد

وشتن كد شما بهتر باشد ، خواندن ، نگهداري و استفاده مجـدد از آن سـاده تـر خواهـد هر چقدر فرمت ن نوشـتن توضـيحات . دو مورد مهم دندانه دار نويسي و نوشتن توضيحات و يا كامنـت هـا مـي باشـد . بود

براي نوشتن كامنت استفاده مي // از #Cدر . خصوصا در برنامه نويسي تيمي بسيار مهم و كار ساز است . نيز معتبر است/* ..…… */ هنوز Cو همانند ) ++Cمانند (ود ش

:نكته نگه مي داريد autocomplete اگر دقت كرده باشيد هنگامي كه كرسر ماوس را روي هر آيتمي در منوي

و يا آنرا انتخاب مي كنيد يك راهنماي كوچك نمايش داده مي شود كه در حقيقت كامنت مربوط به آن تـابع روش نوشتن چنين كامنت حرفه اي كه در منوهاي ويژوال استوديو ظاهر شود به صـورت زيـر . اشدمي ب

نوشته شود.... قبل از هر تابع يا خاصيت يا كالس و (!) است كه بهتر است ///<summary> /// /// ///</summary>

:تعريف متغير و مقدار دهي به آن

#Cدر . اي از حافظه براي ذخيره سازي داده ، اختصاص داده مي شود در هنگام تغير يك متغير ، ناحيه برخالف بعضي از زبان ها كه نيازي به تعريف صريح متغيرها ندارند ، هم بايد نوع متغير را تعريف كنيد و

.هم آنرا مقدار دهي اوليه نماييدكامپايلر حتما آنرا به شما با يك ! ست البته اگر فراموش كرديد كه متغيري را مقدار دهي اوليه كنيد مهم ني

!خطا گوشزد خواهد كرد مقدار دهي اوليه يك متغير از بسياري از خطاهاي زمـان اجـرا ماننـد جمـع زدن دو متغيـر بـدون مقـدار

.جلوگيري خواهد كرد

Page 9: Microsoft Word - asp_net_ch02_final

9

شركت پيشگامان فناوري

كليه حقوق اين جزوه آموزشي متعلق به سايت آموزش الكترونيكي پرشيا ميباشد )[email protected]( نصيريوحيد : استاد دوره ASP.NETجزوه آموزشي كالس

:استفاده از خواص

propertyيـك . ا كنيـد شما به ويژگي هاي يك شيء با استفاده از خواص آن مـي توانيـد دسترسـي پيـد بـراي مثـال طـول يـك رشـته . عضوي است كه امكان دسترسي به ويژگي شيء يا كالس را فراهم مي كند

)string ( سايز يك فونت ، عنوان يك فرم و نام يك مصرف كننده ، خاصيت هستند ، . بـراي مثـال شـيء . بسياري از اشياء ذاتي دات نت فريم ورك ، خواص مفيد زيـادي را بـه همـراه دارنـد

DateTime با استفاده از خاصيت . را در نظر بگيريدToday آن مي توان تاريخ جاري سيسـتم را بدسـت منظـور . براي استفاده از يك خاصيت الزم است تا كالس تعريف كننده شيء در برنامـه مهيـا باشـد . آورد

ن فضاي نام كالس مورد نظر مي توانيـد از پس از وارد كرد . همان استفاده از فضاي نام مربوطه مي باشد همانطور كه ذكر شد يا به صورت كامل تمام موارد بايد ذكر شوند ماننـد . شيء و خواص آن استفاده كنيد

System.DateTime.Now; و يا با وارد كردن فضاي نام System كوتاه سازي صورت مي گيرد كه پيشتر نيز .ذكر گرديد

#Cر آرايه ها و حلقه ها در مروري ب: برنامه دوم

در اين برنامه مي خواهيم آرايه اي از كاراكترها را به مقادير متناظر يونيكد آنهـا تبـديل و سـپس مرتـب .شده آنها را نمايش دهيم

براي نمونه در . هنگامي آرايه ها را ايجاد مي شوند كه بخواهيم با مجموعه اي از اطالعات همجنس كار كنيم

آرايه ها هم يـك نـوع متغيـر . ل از يك آرايه براي ذخيره تعدادي كاراكتر مي خواهيم استفاده نماييم اين مثا حـد پـايين . هستند پس بايد تعريف و مقدار دهي اوليه شوند ، نوع و تعداد اعضاي آنها نيز بايد معين گردد

و chrData[0]ن عضـو آن ده عضو داشـته باشـد، اولـي []chrDataآرايه صفر بوده براي مثال اگر آرايه . استchrData[9]آخرين عضو آن

براي تعريف آرايه چندين راه مختلف وجود دارد . تعريف آرايه اي از رشته ها و مقدار دهی اوليه آن-١

String[] strData = new string[2];

Page 10: Microsoft Word - asp_net_ch02_final

10

شركت پيشگامان فناوري

كليه حقوق اين جزوه آموزشي متعلق به سايت آموزش الكترونيكي پرشيا ميباشد )[email protected]( نصيريوحيد : استاد دوره ASP.NETجزوه آموزشي كالس

تعريف و مقدار دهي اوليه -٢string [] strData = { "1234","abcd" };

در اين حالـت نيـازي بـه . عضو با مقدار دهي اوليه ايجاد شده است ٢ اي از نوع رشته اي به طول كه آرايه

.تعيين طول آن نمي باشد روشي ديگر براي مقدار دهي اوليه-٣

strData[0] = "1234"; strData[1] = "abcd";

. كار با آرايه ها ارائـه مـي دهـد وجود دارد كه امكانات جالبي را براي Array در دات نت كالسي به نام

. آن به سادگي يك آرايه را مرتب مي كندSortبراي مثال تابع

foreach ويا forبراي حركت بين اعضاي يك اعضاي يك آرايه با تعداد باال به سادگي مي توان از حلقه ي .استفاده كرد

براي مثال

for( int i=0 ; i< strData.Length ; i++) do some things!

در هنگام كار با آرايه ها حتما الزم است طول آرايه چك شود تـا مشـكل عـدم دسترسـي بـه عضـوي كـه

) .عضوي كه در كران آرايه قرار ندارد(تعريف نشده پيش نيايد

تعريف كنيد و سپس با استفاده از يـك ١٠ براي نوشتن برنامه دوم يك آرايه با اعضايي دلخواه به طول بـراي . اعضاي آنرا تك تك به مقادير يونيكد معادل تبديل نماييد و در يك آرايـه ديگـر ذخيـره نماييـد حلقه

:تبديل به يونيكد از كد زير استفاده كنيد

. نمايش دهيـد TextBox آنرا سورت كرده و سپس خروجي آنرا در يك Arrayسپس با استفاده از كالس آنـرا بـه TextModeيرون بيايد و چند خطـي شـود خاصـيت براي اينكه تكست باكس از حالت يك خطي ب

Page 11: Microsoft Word - asp_net_ch02_final

11

شركت پيشگامان فناوري

كليه حقوق اين جزوه آموزشي متعلق به سايت آموزش الكترونيكي پرشيا ميباشد )[email protected]( نصيريوحيد : استاد دوره ASP.NETجزوه آموزشي كالس

MultiLineاين مثال را به عنوان تمرين خودتان مي توانيد تكميل كنيد و سپس كد نوشته شده . تغيير دهيد forumقسمت هاي نامفهوم احتمالي را مي تـوان در نظرات و . همراه فصل مقايسه كنيد sourceاتان را با .مطرح كرد

شنايي بيشتر با كالس ها ، متدهاآ

، اعضاي يك شيء يا كالس هستند و مجموعه اي از يك سري از كارهـا C متدها يا همان توابع در زبان بسـياري از كـالس هـاي دات نـت . با خواص هم كه در قسمت هاي قبل آشنا شـديد . را انجام مي دهند

، متدي بـه نـام DateTimeبراي مثال كالس . ماده اي را دارند فريم ورك متدها و يا توابع مفيد حاضر و آ ToLongDatastringبراي تعريف يك كالس . دارد كه تاريخ را به صورت يك رشته طوالني بر مي گرداند

:همانطور كه گفته شد به صورت زير عمل مي شود

class myClassName { ……… }

سـپس نـوع خروجـي private و publicدسترسي به آن مانند براي تعريف يك متد يا تابع ابتدا سطح

ذكر مي گردد كـه داخـل ايـن پرانتزهـا مـي تـوان ورودي هـاي تـابع يـا بقـولي ) هيچي ( voidتابع مانند . خاتمه يابد{ شروع و با يك }سپس تابع بايد با . آرگومان هاي ورودي را معرفي كرد

:براي مثال

public int myFunc( int x ) { ...…. }

هر تابعي مي تواند صفر تا تعداد بيشماري آرگومان ورودي و صفر تـا تعـداد بيشـماري خروجـي داشـته

بوسيله يك تابع مي توان پيچيدگي كار را مخفي كرد و صـرفا بـا صـدا زدن نـام آن ، يـك سـري از . باشد

Page 12: Microsoft Word - asp_net_ch02_final

12

شركت پيشگامان فناوري

كليه حقوق اين جزوه آموزشي متعلق به سايت آموزش الكترونيكي پرشيا ميباشد )[email protected]( نصيريوحيد : استاد دوره ASP.NETجزوه آموزشي كالس

تـابع بـا يـك نـام داشـته باشـيم بطوريكـه گاهي از اوقات الزم مي شـود دو يـا چنـد . عمليات را انجام داد پارامترهاي ورودي يا مقادير خروجي و يا نوع آرگومان هاي ورودي آنها با هم متفاوت باشد به ايـن كـار

overloadingمي گويند .

:براي تعريف خواص قاعده كلي به صورت زير است AnyType propertyName {

get; set;

}

كالس ، خواص ، متدها و مروري بر سطوح دسترسي در كالس هاتعريف : برنامه سوم

در اين برنامه مي خواهيم كالسي را تعريف كنيم كه در آن با استفاده از خواص ، دورشته را دريافـت و توسط يك متد ساده ، اين دو رشته به هم متصل گرديده و تعدادي كاراكتر از آن مطابق خاصيتي ديگر كه

بحث های مربوط به کنترل ( شته جدا شده را از انتهاي رشته مشخص مي كند ، نمايش دهيم آن طول اين ر ).خطا در فصول ديگر مرور می شوند

با توجه به توضيحات ارائه شده در مورد تعريف كالس ها ، توابع و خاصيت ، اين برنامه ساده بـوده و .مي توان به سورس همراه فصل مراجعه كرد

ي كار بـا رشـته و پيـدا كـردن رشـته اي از درون رشـته اي ديگـر ، يكـي از توابـع پـر كـاربرد فقط برا substring بوده و ساده ترين راه بـراي تعريـف كـالس اسـتفاده از منـوي Project قسـمت Add Class

. انجام مي دهد VS.NETمي باشد كه تعارف اوليه را خود . مي باشـند private و publicطوح دسترسي به كالس ها توابع الزم به ذكر است كه پركاربردترين س

براي مثال اگر تابعي در كالس شما يك كار مياني براي ربط دادن دو تابع ديگر را انجام مي دهد مي توانيد . تعريف كنيد تا هنگام استفاده از كالس مديريت كار كردن با توابع گيج كننده نباشدprivateآنرا

Page 13: Microsoft Word - asp_net_ch02_final

13

شركت پيشگامان فناوري

كليه حقوق اين جزوه آموزشي متعلق به سايت آموزش الكترونيكي پرشيا ميباشد )[email protected]( نصيريوحيد : استاد دوره ASP.NETجزوه آموزشي كالس

! صفحه اي راجع بـه آن نوشـت ٧٠٠ آنقدر مفصل است كه مي توان يك كتاب #Cث شيء گرايي در مبح ) :Thinking in C#کتاب ( اگر باور نداريد يك سري به آدرسهای زير بزنيد

www.thinkingin.net

www.BruceEckel.com

اي بودند كه در هنگام كار بيشتر هدف از اين فصل مروري سريع بر يك سري از مفاهيم اساسي و پايه مباحث پيشرفته تر و مفصل تر در اين مورد را مي توانيد در كتاب فوق و يا كتاب . با آنها مواجه مي شويم

. مالحظه نماييد#Cهاي اختصاصي و پايه اي

:نکته ای در مورد نحوه ی اجرای برنامه های همراه فصل

ای همراه فصل را اجرا کنيد بايد ابتدا فصل اول را کامل مرور کرده باشـيد و برای اينکه بتوانيد برنامه ه classes يک دايرکتوری بـه نـام WWWRootدر ايجاد دايرکتوری مجازی مشکلی نداشته باشيد و يا در

. شماره فصـل اسـت xx ايجاد نماييد که در آن Chxxايجاد کنيد و به ازای هر فصل يک دايرکتوری به نام در هر حال هر روشي که برای شـما سـاده تـر . دايرکتوری های مثالهای همراه را در آن کپی نماييد سپس

بديهی است که در غير اينصورت هيچکدام از مثالهای همـراه را نمـی توانيـد . است به آن صورت عمل کنيد .اجرا نماييد

Page 14: Microsoft Word - asp_net_ch02_final

14

شركت پيشگامان فناوري

كليه حقوق اين جزوه آموزشي متعلق به سايت آموزش الكترونيكي پرشيا ميباشد )[email protected]( نصيريوحيد : استاد دوره ASP.NETجزوه آموزشي كالس

تمرين واهيم برنامه اي بنويسيم كه مساحت يك مي خ . ايجاد كنيد VS.NET جديد در ASP.NET يك پروژه -١

براي اينكار يك كالس بايد به برنامه اضافه شـود . دايره را با دريافت شعاع آن بر روي صفحه نمايش دهد از يـك . كه شعاع را به صورت خاصيت دريافت نموده و مساحت را بصورت يك متد و يا تـابع پيـاده كنـد

TextBox يـك دكمـه هـم . يك ليبل براي نمايش مساحت استفاده مي شـود براي دريافت شعاع دايره و از .براي دريافت رخداد مربوط به انجام عمليات الزم است