63
ﻓﺮﺍﺩﺭﺱ ﺁﻣﻮﺯﺵ ﻛﺎﺭﺑﺮﺩﻱC#.Net ﻣﺪﺭﺱ: ﻣﻬﻨﺪﺱ ﺭﺷﻴﺪ ﺷﺠﺎﻋﻲ ﻓﺮادرسFaraDars.org (ﺳﯽ ﺷﺎرپ) #C ﻣﺠﻤﻮﻋﻪ آﻣﻮزش ﻫﺎی ﮐﺎرﺑﺮدی ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽfaradars.org/fvcs9311

مجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

Embed Size (px)

Citation preview

Page 1: مجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

C#.Netفرادرس آموزش كاربردي

مهندس رشيد شجاعي: مدرس

فرادرس

FaraDars.orgمجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

faradars.org/fvcs9311

Page 2: مجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

Net. چيست؟

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

،)BCL("پايه كالس هاي كتابخانه" • ،)CLR("اجرا زمان عمومي زبان"• ،ASP.NET وب تحت هاي برنامه ايجاد تكنولوژي• ،ADO.NET كالس هاي از استفاده• .است ...و برنامه نويسي زبان هاي •

ويندوز تحت هاي برنامه قبيل از نرم افزارها از مختلفي انواع ساخت امكان يكديگر كنار در ابزارها اين)Windows Applications(، وب تحت هاي برنامه)Web Applications( سرويس هاي و

.آورند مي فراهم را )Web Services(وب

فرادرس

FaraDars.orgمجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

faradars.org/fvcs9311

Page 3: مجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

Net Framework. چيست؟ در كه هستند نرم افزار توسعه سهولت به كمك جهت غني بسيار كتابخانه هاي از مجموعه اي ،NET. كاري چارچوب همان يا

تعداد كه مي شوند ارائه ديگر فناوري هاي از بسياري و ASP.NET، ADO.NET تكنولوژي همچون عمده اي هاي بخش قالب .است شده بيشتر مايكروسافت اهداف شدن تر محدود با همگام اخير نسخه هاي در آنها

C# رهيافت ارائه با كه شي گراست و باال سطح زبان هاي از يكي Component-Based توسعه و طراحي براي راهي .باشد مي نرم افزار

برنامه سازي زبانC# يعني مايكروسافت شركت جديد تكنولوژي همراه به Net. تكنولوژي از رو اين از و گرديد ارائه Net. .مي برد بهره شركت اين

زبان محاسباتي قدرت تركيب آن هدف C++ زبان با برنامه نويسي سادگي و Visual Basic است.

C# برنامه نويسي زبان برپايهC++ زبان هاي ويژگي از برخي از و است شده ايجاد Java كند مي استفاده نيز.

فرادرس #Cزبان با آشنايي

FaraDars.orgمجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

faradars.org/fvcs9311

Page 4: مجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

Visual Studio افزار نرم با آشناييMicrosoft Visual Studio محيطي و مايكروسافت شركت محصول

ايجاد منظور به كه است )IDE( نرم افزار توسعه و توليد جهت يكپارچه سرويس هاي ساخت و سايت ها طراحي وب، تحت و ويندوز تحت برنامه هاي

.مي شود استفاده وبمختلف هاي ويژگي از استفاده امكان افزار نرم اين .NET شد گفته قبالً كه

:قبيل از ميدهد، كاربر به را و++C#، J#، C مانند مختلف نويسي برنامه هاي زبان از استفاده•

VB.NET ها Windows/Web/Console Applicationsايجاد •كه قبالً NET Framework.استفاده از سرويس ها و ويژگي هاي •

.گفته شد ...و•

فرادرس

FaraDars.orgمجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

faradars.org/fvcs9311

Page 5: مجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

NET Framework. وVisual Studioپيشرفت روندبرنامه نويسي يارهابزا دنكر متحد سافتومايكر تمد دراز و صليا هدف حقيقت در

و آسانتر برنامه نويسيِ تمكاناا و اربزا دنبو سسترد در با حدوا محيط يك تحت .ستا هدبو برنامه نويس يابر كاراتر

منا به يودستوا واليژو اول نسخه ارائه Visual Studio 97 1997 سال در ارائه Visual Studio 98 نام با 1998 سال در Visual Studio 6

)..و Visual Basic 6، Visual C/C++ 6 شامل(ارائه Visual Studio.NET 2001 با همراه .NET Framework 1.0 ارائه Visual Studio.NET 2003 با همراه .NET Framework 1.1 ارائه Visual Studio.NET 2005 با همراه .NET Framework 2.0 ارائه Visual Studio.NET 2008 با همراه .NET Framework 3.0 ارائه Visual Studio.NET 2010 با همراه .NET Framework 4.0 ارائه Visual Studio.NET 2012 با همراه .NET Framework 4.5

فرادرس

FaraDars.orgمجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

faradars.org/fvcs9311

Page 6: مجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

Visual Studio 2015

خبر Visual Studio 2015عالي امكانات از نيويورك در خود مراسم آخرين در مايكروسافت شركت

غير هاي زبان با كه نويساني برنامه حتي نمود، خوشحال را نويسان برنامه از وسيعي طيف خبر اين و داد استوديو ويژوال مايكروسافت كه است اين كننده خوشحال خبر اولين !نوشتند مي برنامه مايكروسافتي

.گيرد مي قرار كاربران اختيار در رايگان بصورت 2015 ساخت براي توانند مي دهندگان توسعه كه است اين 2015 استوديو ويژوال هاي ويژگي مهمترين از يكي

و راحتي به )2015 استوديو ويژوال در( ويندوز محيط در Android حتي و Linux، IOS هاي برنامه .بپردازند نويسي برنامه به مشكل بدون

،Android نويسان برنامه از بسياري كه بود خواهيم آن شاهد دور نچندان اي آينده در ميرسد نظر بهIOS، Mac، Linuxبرنامه مايكروسافتي هاي زبان با و مايكروسافت، استوديو ويژوال در نيز … و

.بنويسند را هايشان

فرادرس

FaraDars.orgمجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

faradars.org/fvcs9311

Page 7: مجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

Roslyn, .NET compiler platform is integrated in Visual Studio 2015

New feature includes better code fixing as developers write code in editor. Visual Studio 2015 has support for breakpoint configuration and debugging lambda expression. Smart Unit Tests feature is also added to Visual Studio 2015.

FaraDars.orgمجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

faradars.org/fvcs9311

Page 8: مجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

Developers can install Xamarin from Visual Studio and vice versa Visual Studio support will be available from Xamarin.

فرادرس

FaraDars.orgمجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

faradars.org/fvcs9311

Page 9: مجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

Microsoft Visual Studio 2015 now has options for Android development: C++, Cordova, and C# with Xamarin. When choosing one of those Android development options, Visual Studio will also install the brand new Visual Studio Emulator for Android to use as a target for debugging your app.

فرادرس

مجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

faradars.org/fvcs9311

Page 10: مجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

we will be creating apps for potentially 6 platforms in one go (and 8 platforms if we include Android and iOS, assuming Xamarin turns out the way I’m hoping).

فرادرس

FaraDars.orgمجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

faradars.org/fvcs9311

Page 11: مجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

بزرگ تبلت يك واقع در Surface Hub .شد رونمايي 2015 ژانويه 21 تاريخ در كه مايكروسافت از ديگر جديدي محصول

:به توان ميSurface Hub هاي توانايي جمله از .دارد گروهي كارهاي انجام زمينه در بسياري هاي توانايي كه است جمله از اتصال روش انواع از پشتيباني•

wireless projection, HDMI, NFC, Bluetooth

با لمسي اينچ 84 و 55 سايز دو در مانيتور•

4k عالي كيفيت

مجدد شارژ قابليت با عالي بسيار نوري قلم دو•

كيفيت با بسيار اسپيكرهاي و ميكروفون وجود •

دستگاه بروي

لمسي قابليت با آفيس نسخه آخرين داراي•

10 ويندوز•

Universal هاي برنامه كليه از پشتيباني•

Surface Hub

فرادرس

FaraDars.orgمجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

faradars.org/fvcs9311

Page 12: مجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

هولولنز عينك از خود 10 ويندوز كنار در مايكروسافت

(HoloLens) است هدستي هولونز .برداشت پرده خود .كرد خواهد يكي شما مجازي دنياي با را واقعي دنياي كه

اين با واقعي دنياي در را خود اشكال توانيد مي شما يعني

با شما مثال براي .كنيد زندگي آن با و بسازيد عينك

يك راحتي به توانيد مي (HoloLens)هولولنز هدست تماشا تلوزيوني هيچ بدون اتاقتان ديوار روي بر را ويدئو

هولولنز مجازي دنياي تركيب از همه اينها و كنيد

(HoloLens) افتد مي اتفاق خودمان واقعي دنياي با.

HoloLens

فرادرس

FaraDars.orgمجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

faradars.org/fvcs9311

Page 13: مجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

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

روي فرم نشان دهد. فرض كنيد فرمول محاسبه ماليات به شكل زير است:

ماليات حقوق بر حسب تومانSalary<500000 0%

500000<=salary<1000000 5% 1000000<=salary<2000000 10% 2000000<=salary<3000000 15%

Salary>=3000000 20%

باشد. زيرظاهر برنامه به شكل

فرادرس

FaraDars.org

مجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

faradars.org/fvcs9311

Page 14: مجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

if (شرط){

1مجموعه دستورات }

if(شرط){

1مجموعه دستورات

}

else{

2مجموعه دستورات

}

if( 1شرط ){

1مجموعه دستورات

}

else if( 2شرط ){

2مجموعه دستورات

}

else if( 3شرط ){

3مجموعه دستورات

} .... else{

4مجموعه دستورات }

switch ( يا عبارت رمتغي ) {

case 1مقدار :

1مجموعه دستورات ; break;

case 2مقدار :

2مجموعه دستورات ;

break;

case 3مقدار :

3مجموعه دستورات ;

break;

default:

;مجموعه دستورات break;

}

فرادرس

FaraDars.org

مجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

faradars.org/fvcs9311

Page 15: مجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

1

نيز بجاي Enterماشين حساب را به نحوي تغيير دهيد كه دكمه برنامه : تمرين .كاركنند =كليد

مي باشد MouseClickبا رخداد Clickهدف اصلي در اين تمرين درك تفاوت رخداد

فرادرس

FaraDars.orgمجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

faradars.org/fvcs9311

Page 16: مجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

1

دكمه كه دهيد تغيير نحوي به را حساب ماشين برنامه :تمرينBtnonoff دكمه اين متن بايد اجرا شروع در .كاركنند نيز On به باشد

كنيد، روشن را حساب ماشين توانيد مي كردن كليك با كه معني اين بر كليك با .باشند خاموش حساب ماشين هاي دكمه تمام حالت اين در

در .باشند فعال ها دكمه تمام و شده روشن حساب ماشين دكمه اين كليك با كه كه معني اين به گردد تبديل Off به دكمه متن حالت اين

كردن كليك بار هر با .كنيد خاموش را حساب ماشين توانيد مي كردن .دهد وضعيت تغيير مذكور حالت دو بين حساب ماشين دكمه اين روي

فرادرس

FaraDars.orgمجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

faradars.org/fvcs9311

Page 17: مجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

1

استاد دانشجو كارمند

كارداني

فوق ليسانس

بشر

ليسانس

فرادرس

FaraDars.orgمجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

faradars.org/fvcs9311

Page 18: مجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

2

فرادرس

FaraDars.orgمجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

faradars.org/fvcs9311

Page 19: مجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

1

:آموزشي اهداف آن نويسي برنامه و منو ايجاد ، هامنو معرفي• آن از استفاده و متداول محاوره اي كادرهاي معرفي• آن از استفاده روش و فايل مفهوم ارايه• ها كالس براي عمومي و خصوصي اجزا ايجاد و Public و Private مفهوم ارائه• ها كالس سازنده مفهوم ارايه• ساير از فرم يك هاي كنترل و اشياء به دسترسي نحوه و فرمي چند هاي برنامه ايجاد•

)سازنده توسط پارامتر ارسال و سازنده( ها فرم

Notepad كاربردي برنامه پياده سازي و طراحي

فرادرس

FaraDars.orgمجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

faradars.org/fvcs9311

Page 20: مجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

1

پس رنگ بجز كه دهيد تغيير نحوي به را Notepad برنامه :تمرين يك از تنها(كند دائمي را )عرض و طول(فرم ابعاد و جاري فونت ،زمينه و ذخيره فايل در را داده ها از ليستي آرايه كمك به و كنيد استفاده فايل

.)كنيد بازيابي

فرادرس

FaraDars.orgمجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

faradars.org/fvcs9311

Page 21: مجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

ظاهر و كنيد اضافه فوق برنامه به FrmReplace نام به فرم يك :تمرين به را نياز مورد رخدادهاي سپس .كنيد طراحي زير شكل همانند را آنها

فرم همانند آن اجزاء تمام كاركرد كه كنيد برنامه نويسي نحويReplace برنامه در Notepad گردد ويندوز.

بخش تمام كه شود مي مشخص كنيد دقت صورتيكه در و باشد مي موجود نيز فرم اين در FrmFind فرم هاي كافيست و شوند طراحي مجددا ها بخش اين نيست الزم .ببرد ارث به را FrmFind فرم FrmReplace فرم

فرادرس

FaraDars.orgمجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

faradars.org/fvcs9311

Page 22: مجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

1

آنها ظاهر و كنيد اضافه فوق برنامه به FrmGoto نام به فرم يك :تمرين به را نياز مورد رخدادهاي سپس .كنيد طراحي زير شكل همانند را

در Goto فرم همانند آن اجزاء تمام كاركرد كه كنيد برنامه نويسي نحوي .گردد ويندوز Notepad برنامه

فرادرس

FaraDars.orgمجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

faradars.org/fvcs9311

Page 23: مجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

1

لحظه هر در كه دهيد تغيير نحوي به را Mynotepad برنامه :تمرين وضعيت ميله در زير شكل همانند نما مكان جاري محل ستون و سطر .شود داده نشان

كار درست حالت ها همه در وضعيت ميله در جاري ستون و سطر مقادير تغيير كه كنيد دقت )....نماو جهت كليدهاي با ،موس كردن كليك با كردن، تايپ با ( .كند

فرادرس

FaraDars.orgمجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

faradars.org/fvcs9311

Page 24: مجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

1

لحظه هر در كه دهيد تغيير نحوي به را Mynotepad برنامه :تمرين عنوان به .باشد شده تنظيم صحيح منو هاي گزينه Enabled وضعيت

در و فعال غير Copy گزينه باشد نشده انتخاب متني كه زماني مثال .باشد فعال غيرانصورت

منو هاي گزينه بايد كنيد مي كار منو با كيبرد يا موس از استفاده با كه زماني كه كنيد دقت .باشند شده تنظيم صحيح

فرادرس

FaraDars.orgمجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

faradars.org/fvcs9311

Page 25: مجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

1

:آموزشي اهداف SQL Serverآشنايي با روش ايجاد بانك اطالعاتي به كمك •

ADO.NETآشنايي با تكنولوژي •

ADO.NETآشنايي با كالس هاي موجود در •

ADO.NETبا بانك اطالعاتي به روش C#.Netمعرفي نحوه ارتباط برقرار كردن •

آشنايي با نحوه ذخيره كردن، ويرايش كردن و حذف كردن داده ها•

كردن يك جستجوگر پوياايجاد •

تلفن دفترچه يك پياده سازي و طراحي

فرادرس

FaraDars.orgمجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

faradars.org/fvcs9311

Page 26: مجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

2

براي امروزه .مي باشد افزاري نرم محصول يك توليد در بخش ها مهمترين از يكي اطالعات بازيابي و ذخيره

Access ,Sql Server همانند اطالعاتي بانك افزارهاي نرم از زياد حجم در اطالعات بازيابي و ذخيره

Oracleدر .مي شود استفاده غيره و .Net شده ايجاد اطالعاتي بانك هاي با ارتباط براي مختلفي روش هاي

اجزاء ابتدا بخش اين در .برد نام را ...وADO.NET، LINQ مي توان تكنولوژي ها اين جمله از كه است

ADO.NET كامل بصورت را كاربردي برنامه يك تكنولوژي اين از استفاده با ادامه در و كرده بررسي را

.كرد خواهيم پياده سازي

چيست؟ اطالعاتي بانك

فرادرس

FaraDars.orgمجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

faradars.org/fvcs9311

Page 27: مجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

3

براي كالس ها آن از اشيائي كه كالس هايي مجموعه به

Net. در اطالعاتي بانك يك داده هاي به دسترسي

.مي شود گفته ADO.NET مي شود، استفاده

ADO.NET چيست؟

فرادرس

FaraDars.orgمجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

faradars.org/fvcs9311

Page 28: مجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

4

بازيابي و ذخيره براي ADO.NET تكنولوژي

.دارد كاربرد اي داده منبع نوع هر در ها داده بازيابي ذخيره براي تكنولوژي اين همچنين

وب تحت از نويسي برنامه نوع هر در ها داده

.دارد كاربرد ويندوز تحت تا

ADO.NETكاربرد

فرادرس

FaraDars.orgمجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

faradars.org/fvcs9311

Page 29: مجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

5

كه است ديگر نام فضاي چند شامل نيز خود نام فضاي اين .دارند قرار System.Data نام فضاي درADO مشترك و اصلي كالس هاي ويحا System.Data.SqlClient منا يفضا . System.Data.OleDbو System.Data.SqlClient از عبارتند آنها مهمترين

منا يفضا .دميگير ارقر استفاده ردمو Sql Server عنو از طالعاتيا ياـكهـبان هـب سترسيد ايبر كه ستا هاييسكالSystem.Data.OleDb عنو از طالعاتيا ياـكهـبان هـب سترسيد ايبر كه ستا هاييسكال ويحا نيز )OLEطالعاتيا يبانكها مانند

(Access منا يفضا از دهستفاا با فصل ينا طي در .مي شود استفاده SqlClientعنو از طالعاتيا يبانكها به SQL Server سترسيد .شتدا هيماخو

؟هستند ADO.NETفضاي نام هاي

فرادرس

FaraDars.orgمجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

faradars.org/fvcs9311

Page 30: مجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

6

.ميشويم ناـشآ دـناهـفتر راـك هـب بخش ينا يهالمثا طي در كه ADO.NET هاي كالس مهمترين از اديتعد با ابتدا

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

SqlConnection - SqlCommand - SqlDataAdapter - SqlParameter

فضاي در و دـيگيرنـم اررـق دهستفاا ردموSQL Server طالعاتيا يبانكها با طتباار ايبر فقط هاسكال ينا

System.Data نام فضاي در كه كنيم مي استفاده DataSet كالس از همچنين .دارند قرار System.Data.SqlClient نام

زير شكل به را مذكور هاي نام فضاي using دستور كمك به بنابراين .هستند استفاده قابل ها دهنده سرويس تمام براي و دارند قرار

.كنيم مي اضافه برنامه به

بخش اين در شده برده بكار هاي كالس

using System.Data; using System.Data.SqlClient;

فرادرس

FaraDars.orgمجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

faradars.org/fvcs9311

Page 31: مجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

7

SqlConnection سكال كه بگوييم انيمميتو تقريباً ردوـم سمتـق ينا در كه دارد ارقر هاييسكال قلب در

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

.دارد

SqlConnection كالس

اتصال رشته نام به خصوصيت اين .باشد مي ConnectionString منا به اي داده جزء داراي سكال ينا از نمونه كـي

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

فرادرس

FaraDars.orgمجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

faradars.org/fvcs9311

Page 32: مجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

8

ConnectionString مختلف يبخشها

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

آن در SQL Server طالعاتيا بانك رموتو كه ستا يكامپيوتر ماـن ويحا را برنامه كه يكامپيوتر نهما روي بر SQL Server رـگا .تـسا هدـش نصب

يا وlocal مانند ييردمقا از نيداميتو ،تـسا هدـش صبـن دـيكنـم اجراlocalhost از گرا ماا .كنيد دهستفاا مترراپا ينا ايبر SQL Server در كه

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

كامپيوتر منا از بعد بايد ،باشد شتهدا ارقر SQL Server يك از بيش كامپيوتر دهتفاـسا ردمو هيداميخو كه SQL Server منا سپس و داده ارقر \ عالمت يك

.كنيد كرذ را هيدد اررـق

Server

ارقر مترراپا ينا در هيدد ارقر دهستفاا ردمو هيداميخو كه طالعاتيا بانك منا Phonebook(. Database طالعاتيا بانك لمثا ايبر(درـيگيـم بانك به لتصاا ايبر هيماميخو كه باشد يبرركا منا ويحا بايد مترراپا ينا بانك از روش ينا از دهستفاا با نيمابتو ينكها ايبر .كنيم دهستفاا آن از طالعاتيا SQL Server در منا ينا به يبرركا بحسا يك بايد ،يمـكن دهستفاا طالعاتيا .دشو داده آن به نيز زنيا ردمو يهاداده هـب يـسترسد زه يجاا و هشد ديجاا

User ID

Password .دميگير ارقر دهستفاا ردمو يبرركا منا ينا ايبر كه ريعبو يكلمه

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

ConnectionString شده داده توضيح مقابل جدول در ديجاا طالعاتيا يبانكها در منيتا ديجاا ايبر .است به سترسيد مهنگا بايد ،SQL Server يسيلهبو هشد

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

تنـم در تاـطالعا رـيگد اـب اهرـهم را تـهويConnectionString كنيم مشخص.

فرادرس

FaraDars.orgمجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

faradars.org/fvcs9311

Page 33: مجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

9

نيماميتو ،يمدكر مشخص را طالعاتيا بانك با طتباار اريبرقر ه ينحو ConnectionStringديجاا با ينكها از بعد لتصاا يا و هشد متصل طالعاتيا بانك به SqlConnectionسكال در Close وOpen يمتدها از دهستفاا با

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

آن از استفاده نحوه و اتصال شي يك ايجاد نحوه از مثالي

SqlConnection conn = new SqlConnection(); conn.ConnectionString = " رشته اتصال "; conn.Open(); . . . conn.Close();

فرادرس

FaraDars.orgمجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

faradars.org/fvcs9311

Page 34: مجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

10

تغييرات اعمال براي SQLرستود يك ويحا SqlCommandسكال نـيا .تـسا اتيـطالعا كـبان از هشد يافتدر يهاداده روي بر ص،خا اييـهداده بنتخاا براي SELECT رستود يك نداميتو رتوـسد در دـجدي ياـهداده درج ايرـب INSERTرتوـسد كـي

بانك از هاداده فحذ ايبر DELETE رستود يك ،طالعاتيا كـبان در هدـش هخيرذ سيجروپر يك نياخوافر حتي يا و تطالعاا

دميشو ارينگهد سكال ينا در كه يSQL رستود .باشد طالعاتيا كـبان از شي يك ميتوانيم مقابل شكل به .باشد نيز ييمترهاراپا شامل نداميتو

.كنيم تعريف دستور نوع

SqlCommand سكال

بايد كه باشد طالعاتيا بانك در هشد هخيرذ سيجروپر يك نام يا و SQL رستود يك دـناميتو كه است متني حاوي CommandTextخاصيت شي آن با مرتبط اطالعاتي بانك در دستوري خواهيم مي كه باشد مي باز اتصال شي يك به مرجع Connection خاصيت .دشو اجرا هاداده رويبر

;()SqlCommand c1 = new SqlCommand .گردد اجرا اتصال c1.Connection = conn; c1.CommandText = "insert into Phones values('ali','ahmadi',0912..','tehran..')";

فرادرس

FaraDars.orgمجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

faradars.org/fvcs9311

Page 35: مجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

11

SqlCommand كالس متدهاي

ExecuteNonQuery(); ExecuteReader(); ExecuteScalar();

SqlCommand c1 = new SqlCommand(); c1.Connection = conn; c1.CommandText = "insert into Phones values('ali','ahmadi',0912..','tehran..')"; c1.ExecuteNonQuery();

ذخيره دكمه برنامه از اي نمونه

فرادرس

FaraDars.orgمجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

faradars.org/fvcs9311

Page 36: مجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

12

در ننداميتو و ميگيرند ارقر SQLرستود يك در كه هستند متغيرهايي پارامترها با متغيرها ينا .كنند ضعو صاـخ تيرااـعب اـب را دوـخ يجا برنامه ايجرا نماز

.ميشوند مشخص رستود يك در @ عالمتSqlCommand c1 = new SqlCommand(); c1.CommandText = "insert into Phones values(@p1,@p2,@p3,@p4)"; c1.Connection = conn; c1.CommandType = CommandType.Text; c1.Parameters.AddWithValue("p1", txtname.Text); c1.Parameters.AddWithValue("p2",txtfamily.Text); c1.Parameters.AddWithValue("p3", txttell.Text); c1.Parameters.AddWithValue("p4",txtaddress.Text); c1.ExecuteNonQuery();

هـب دـيكنـم ارينگهد برنامه ايجرا نماز در را آن به طمربو ارمقد كه يمتغير و پارامتر يك نام AddWithValue متد

.ميكند ضافها Parametersليست به را آن و دهكر يافتدر مترراپا انعنو

فرادرس

FaraDars.orgمجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

faradars.org/fvcs9311

Page 37: مجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

13

نداميتو DataSetشي يك است مشخص كه رهمانطو ييلهـسو هـب اـنهآ از يك هر كه باشد ولجد چندين شامل

كنيد تـقد .ندميشو مشخصDataTable لرـكنت كـي .اردند دجوو Sql يكلمه DataSet سكال ايبتدا كه يضاـف هـب متعلق سكال ينا كه ستا ينا هم ردمو ينا ليلد منا يفضا در بلكه نيستSystem.Data.SqlClient ماـن

System.Data سالـك ،يگرد رتعبا به .دارد ارقر Dataset قبيل از خاصي طالعاتيا ه يهندد يسوسر هـب SqlClient يا OleDbارينگهد آن يظيفهو و اردند تعلق

.ستا حافظه در ينحو هر به همدآ تـسد هـب تاـطالعا زينيا يگرد يمداد ارقر حافظه در را تطالعاا كه هنگامي

.نده امدآ ستد به كجا از تاـطالعا ينا كه نيمابد نيست

DataSet كالس

DataSet ds = new DataSet();

فرادرس

FaraDars.orgمجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

faradars.org/fvcs9311

Page 38: مجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

14

يهاداده نيز و طالعاتيا بانك اولجد بين پلي همانند ،طالعاتيا بانك يبرنامهها در DataAdapter سكال

كه بگوئيم نيماميتو .ميكند عمل ،ميشوند ارينگهد DataSet يسيلهو به كه حافظه در دموجو

SqlConnection و SqlCommand سالـك از اتيـطالعا بانك به سترسيد ايبر DataAdapter سكال .ميكند دهستفاا

SqlDataAdapter سكال

فرادرس

FaraDars.orgمجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

faradars.org/fvcs9311

Page 39: مجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

15

منا به خاصيتي داراي DataAdapterسكالSelectCommand نوع از شيي به مرجع هـك ستا

بانك رويبر آنرا DataAdapter كه باشد مي دستور دـمانن اييـهسكال در را آن نتايج و دهكر اجرا طالعاتيا

DataSetاـي و DataTable در تا هددمي اررـق سالـك .دـگيرن اررـق دهتفاـسا ردوـم برنامهها

DataAdapter هـب اييـيتهـخاص داراي و InsertCommand ،DeleteCommand ماـن

UpdateCommand يئيـش كـي رـه هـك ستا و ميكنند لوـقب را SqlCommand عوـن از

DataAdapter از يك هر در هشد هخيرذ رستود از در اـهداده يشايرو يا و درج ف،حذ ايبر ترتيب به نهاآ

كه هنگامي حقيقت در .ميكند دهستفاا طالعاتيا كـبان در دموجو يهاداده درون در را تياتغيير برنامه طي در ما

با DataAdapter ،ميكنيم اريدـنگه حافظه ما اتتغيير خاصيتها ينا در دموجو راتستود از دهستفاا

بانك در دموجو ياـهداده هـب هـحافظ ياـهداده از را .ميكند منتقل طالعاتيا

FaraDars.orgمجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

faradars.org/fvcs9311

Page 40: مجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

16

DataAdapter كالس از Fill متد از استفاده با

خاصيت در موجود SQL دستور مي توان

SelectCommand اجرا اطالعاتي بانك در را دستور اين اجراي از برگشتي داده هاي سپس و كرده

.دهيم قرار حافظه در DataSet يك درون را

DataAdapterاز دهستفاا با كه هنگامي

،هيددمي اررـق DataSetيك درون را هاييداده

ايجاد DataTable عوـن از دـجدي ئـش يك ابتدا

و ميشوند داده اررـق آن درون را اـهداده شده،

.ميشوند اضافه DataSet به

DataAdapter كالس از Fill متد

SqlConnection conn = new SqlConnection(); conn.ConnectionString = " رشته اتصال" ; SqlDataAdapter da = new SqlDataAdapter(); DataSet ds = new DataSet(); SqlCommand c1 = new SqlCommand(); c1.Connection = conn; c1.CommandText = "Select * from Telbook"; da.SelectCommand = c1; da.Fill(ds, "T1");

فرادرس

FaraDars.orgمجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

faradars.org/fvcs9311

Page 41: مجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

17

ADO.NETتصور ساده اي از كالس هاي به ADO.NET در دموجو يهاسكال نهاآ متما نيمانميتو كه هستند دياز يحد

ينا با .كنيم يـمعرف بخش ينا در را

مثال براي كه مهم هاي كالس تمام دجوو

بخش ينا در داريم نياز ادامه در كاربردي

شكل در را آنها ارتباط و اند شده معرفي

. .كنيد مي مشاهده مقابل

فرادرس

FaraDars.orgمجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

faradars.org/fvcs9311

Page 42: مجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

18

غيرمتصل معماري از ADO.NETاستفادهADO.NET غيرمتصل معماري از داده ها به دسترسي براي

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

اطالعاتي بانك از برنامه اتصال سپس .مي كند ذخيره كامپيوتر در موجود داده هاي در را خود نظر مورد تغييرات و مي شود قطع

شده ايجاد تغييرات باشد الزم كه زمان هر .مي دهد انجام حافظه بانك با را جديد اتصال يك برنامه شوند، ذخيره اطالعاتي بانك در

داده ها در كه تغييراتي اتصال اين طريق از و كرده ايجاد اطالعاتي اصلي شيي .مي كند پياده سازي اصلي جدول در را بود كرده اعمال

نگهداري حافظه در را اطالعاتي بانك از دريافتي هاي داده كه .است DataSet شي مي كند،

فرادرس

مجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

faradars.org/fvcs9311

Page 43: مجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

19

و طراحي با ادامه در .كرديم معرفي را ADO.NET در موجود هاي كالس تئوري بصورت تنها كار از قسمت ينا تا

درك ستدر را ...واـخاصيته ،متدها ،هاسكال ينا از دهستفاا هنحو كه شويممي مطمئن تلفن دفترچه يك پياده سازي

.يمده اكر

عملدر ADO.NETي هاسكالده از ستفاا

فرادرس

FaraDars.orgمجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

faradars.org/fvcs9311

Page 44: مجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

1

كه ستا BindingContext عنو از شيئي داراي مفر هر ينابنابر .ميكند مديريت را مفر درون يهالكنتر تتصاالا

چنين داراي نيدرو رتصو به شما برنامه مفر ينكها علت به .كنيد ديجاا را آن كه نيست زينيا ،ستا شيئي

از مجموعه يك حقيقت در BindingContext شي ديريتـم را CurrencyManagerعوـن از ءشياا ينا نيزCurrencyManager يهـظيفو .دـيكنـم مثالً(داده منبع يك به كه هاييلكنتر تمام بين كه ستا

DataSet( كند اربرقر هماهنگي هستند متصل.

CurrencyManagerو BindingContext

cr = (CurrencyManager)this.BindingContext[ds, "t1"];

CurrencyManager cr;

فرادرس

FaraDars.orgمجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

faradars.org/fvcs9311

Page 45: مجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

2

DataBindings از Add متد كمك به داده منبع آنها براي مي توان ها كنترل شكل به متد اين كلي شكل .كرد تعيين

.است زير

DataBindings

نام دوم، پارامتر .كنيد تعريف داده منبع آن براي مي خواهيد كه است خصوصيتي نام اول، وروديDataSet از جزئي نام سوم، پارامتر و مي باشد جاريDataSet عنوان به مي خواهيد كه است

.كنيد تعريف داده منبع

فرادرس

FaraDars.orgمجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

faradars.org/fvcs9311

Page 46: مجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

3

كه دهيد تغيير نحوي به را ركورد حذف برنامه :تمرين يك كمك به ،ركورد حذف از قبل زير شكل همانند

messagebox را مذكور ركورد حذف تأييديه كاربر از فرادرس .كند دريافت

FaraDars.orgمجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

faradars.org/fvcs9311

Page 47: مجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

4

را تلفن مشترك تصوير كه دهيد تغيير نحوي به را تلفن دفترچه برنامه :تمرين هاي قسمت تمام در بايد بخش اين كه كنيد دقت .كند ثبت زير شكل مطابق فرادرس .كند كار درست )...و قبلي بعدي، حذف، ويرايش،(برنامه

FaraDars.orgمجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

faradars.org/fvcs9311

Page 48: مجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

5

برروي كردن كليك با كه تغييردهيد نحوي به را تلفن دفترچه برنامه :تمرين .شود داده نمايش واقعي ابعاد با شخص عكس تصوير،

فرادرس

FaraDars.orgمجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

faradars.org/fvcs9311

Page 49: مجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

6

بانك .كند پياده سازي كامل بطور را ديكشنري يك كه بنويسيد برنامه اي :تمرين .است زير شكل با Words بنام جدول يك حاوي ديكشنري اين اطالعاتي

استمقابل فرم اصلی ديکشنری به شکل

فرادرس

FaraDars.orgمجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

faradars.org/fvcs9311

Page 50: مجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

• WPF (Windows Presentation Foundation) with C# • WCF (Windows Communication Foundation) with C# • WF (Windows Workflow Foundation ) • Socket Programming with C# • Multithreaded Programming with C# • Multilayer applications(N-Tier programming) with C# • ASP.NET MVC Web Application with C# • LINQ (Language-Integrated Query) with C# • Programming Entity Framework with C# • Developing Mobile iOS Applications With Xamarin and C# • Building Android Apps In C# With Xamarin

#C معرفي تكنولوژي هايي كه مي توانيد در ادامه با زبان .هر عنوان معرفي شده يك تخصص مي باشد. آموزش ببينيد

:آموزشبراي تهيه پيشنهاد شما معرفي هاي تكنولوژي از يك هر اگر

مناسب را بخش اين در شده ديديد، خود آينده فعاليتهاي از را آن تهيه درخواست مي توانيد

ما .نماييد مطرح زير آدرس طريق انتشار ها، درخواست ميزان حسب بر

.كرد خواهيم پيگيري را آنها

شجاعي رشيد مهندس :مدرس

http://faradars.org/course-request/

فرادرس

FaraDars.orgمجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

faradars.org/fvcs9311

Page 51: مجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

:راه هاي ارتباطي با مدرس

شجاعيمهندس رشيد : مدرس

مولفين /C#.Netمباحث ويژه در آموزش «كتاب »براهوييرشيد شجاعي، نگار

:منبع آموزش

نبش بهمن، سينما روبروي انقالب، ميدان تهران : تهران فروشگاه )عمده سفارش جهت( 09122102835 :تلفن .دهخدا كتاب انديشه، پاساژ

آزاد دانشگاه درب روبروي شهر رجايي كرج : كرج فروشگاه ايران و خوارزمي فروشي كتاب اسالمي،

:مراكز توزيع كتاب

Web Page: http://kiau.ac.ir/~shojaei Email: [email protected] Email:[email protected]

فرادرس

FaraDars.orgمجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

faradars.org/fvcs9311

Page 52: مجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

WF (Windows Workflow Foundation )

Windows Workflow Foundation يا WF از پشتيباني براي Workflow برنامه اي يك به نرم افزار بزرگ خيلي تكه هاي از كدام هر كه مي كند كمك WF .است شده ايجاد

Activity يك قالب در بعداً تكه ها اين .شود تبديل Workflow مي كنند پيدا ارتباط هم با. .مي كند اجرا به شروع WF Runtime توسط و شده host جايي در Workflow اين نهايتاًWF مختلف يبخش ها تا مي دهد امكان برنامه نويسان به كه ستا مدعي Workflow طور به را

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

از باشند مي كار گردش با مرتبط كه مايكروسافت محصوالت ساير و SharePoint افزار نرم Windows Workflow نام با كار گردش مديريت جهت مشترك زيرساخت يك

Foundation كنند مي استفادهWF . كارهاي گردش توليد جهت چهارچوب يك و فرايندي، درون كار گردش موتور ها،API زا اي مجموعه شامل كه است انساني يا و سيستمي

يك هر به WF در كه باشد مي اجزا از اي مجموعه شامل كار گردش .باشد مي طراحي محيط در را ها فعاليت از اي كتابخانه مايكروسافت .شود مي گفته (Activity) فعاليت اجزا اين از

.Net Framework كرده فراهم نيز را شخصي هاي فعاليت توسعه امكان و كرده ايجاد . است

فرادرس

FaraDars.orgمجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

faradars.org/fvcs9311

Page 53: مجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

Developing Mobile iOS Applications With Xamarin and C#

Xamarin اين با .دانست پايتون با اندرويد توسعه ابزار بهترين ميتوان را Framework زبانهاي به ميتوان C# كرد نويسي برنامه اندرويد براي.

Xamarin مهندسان توسط كه است افزاري نرم شركت يكMono ، MonoTuch، Mono for Android شد ايجاد.Xamarin در هم CLI

به Xamarin حاضر حال در .Visual Studio محيط در هم و ميشود اجراVisual Studio 2015 فرادرس .است شده افزوده

FaraDars.orgمجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

faradars.org/fvcs9311

Page 54: مجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

Building Android Apps In C# With Xamarin

كردن ديباگ و تست براي براي كه اندرويد Emulator از تصاويري شبيه اين .Android عامل سيستم جهت شده نوشته هاي برنامه

.شود مي نصب Visual Studio 2015 نصب همراه ساز

Xamarin اين با .دانست پايتون با اندرويد توسعه ابزار بهترين ميتوان را

Framework زبانهاي به ميتوان C# كرد نويسي برنامه اندرويد براي.

Xamarin مهندسان توسط كه است افزاري نرم شركت يكMono ،

MonoTuch، Mono for Android شد ايجاد.Xamarin در هم

CLI محيط در هم و ميشود اجرا Visual Studio. حاضر حال در

Xamarin به Visual Studio 2015 است شده افزوده.

فرادرس

FaraDars.orgمجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

faradars.org/fvcs9311

Page 55: مجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

Programming Entity Framework مفهوم است بهتر شويم، آشنا Entity Framework با بخواهيم كه اين از قبل

ORM بدانيم را. ORM يا Object Relational Mapping به كه است ابزاري نگاشت شيء فرمت به را آنها و كرد پردازش را داده پايگاه جداول توان مي آن وسيله

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

Entity شود مي گفته. Entity Framework يك ORM شركت توسط كه است Microsoft توسعه

.ميشود داده فاصله كه استADO.Net يافته توسعه تكنولوژي Entity Framework درواقع

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

در .است نويسي برنامه در Object Oriented مفاهيم به Database در ارتباطات مي خواهيد شما كه وقتي .مي كند mapهاTable به را ها كال س كه گفت مي توان واقع

مستقيماً را كارها اين كنيد، ذخيره را اطالعاتي يا كنيد، پيدا دسترسي Databaseبه .مي دهيد انجام )Object( اشياء روي بر

فرادرس

FaraDars.orgمجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

faradars.org/fvcs9311

Page 56: مجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

LINQ (Language-Integrated Query)

در داده با كار جهت كنندگان پياده براي الزم تسهيالت ارائه ،LINQ ناوريف ابداع از هدف بين گمشده حلقه يك وجود واقع، در .است شده عنوان XML و SQL اطالعاتي هاي بانك ابداع ضرورت نويسي، برنامه هاي زبان با XMLاسناد ،)اطالعاتي هاي بانك(اي رابطه داده

داده، منابع از يك هر با كار براي بودند مجبور كنندگان پياده .بود كرده توجيه را فوق فناوري بين گمشده اي حلقه منزله به توان مي را LINQ.نمايند استفاده مختلفي هاي روش از

امكان LINQ از استفاده با .كرد تصور منظوره همه نويسي برنامه هاي زبان و داده دنياي .گردد مي فراهم يكسان و مشابه روشي با داده، نوع از نظر صرف داده به دستيابي

جهت مختلف زبان دو از معموالً خود هاي برنامه نوشتن زمان در افزار نرم كنندگان پياده برنامه زبان يك از كدها نوشتن براي ما .نمايند مي استفاده مشترك هدف يك به رسيدن ديگر زبان يك از اطالعاتي بانك سيستم با گفتگو براي و C# يا و VB.NET نظير نويسي

.كنيم مي استفاده SQLنظير

LINQ دارد متعددي دستاوردهاي كه است داده با كار زمان در قدرتمند فناوري يك: query نوشتن جهت ساده روشي• اجراء زمان خطاهاي حذف به توجه با افزار نرم سازي پياده در تسريع• سازي پياده زمان در IntelliSenseو زدائي اشكال نظير امكاناتي از استفاده امكان• گراء شي سازي پياده و اي رابطه داده بين موجود خالء حذف• داده منبع نوع از صرفنظر query نوشتن جهت يكسان گرامر يك از استفاده• بهنگام و query نوشتن براي يكسان رويكرد يك از نويسان برنامه كه چرا نويسي، برنامه راندمان و بازدهي افزايش•

.كرد خواهند استفاده نويسي برنامه زبان طريق از داده سازي

فرادرس

FaraDars.orgمجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

faradars.org/fvcs9311

Page 57: مجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

Multilayer applications شركت هاي امروزه كه بوده برنامه نويسي روش هاي بهترين از يكي اليه چند معماري با برنامه نويسي

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

و نبوده ارتباط در ياطالعات بانك ساختار با عنوان هيچ به مي باشد ارتباط در فرم ها با كه كاربر حالت، اين .مي نمايند تأمين را نياز مورد خدمات كه هستند مختلف اليه هاي اين

به گزارش گرفتن يا تغييرات اعمال جهت را خود نيازهاي تا مي كنند برقرار ارتباط آن با كاربران كه است برنامه هايي همان اصل در كاربر اليه :)Presentation )UIاليه -1 .مي باشد مجزا سيستم در موجود قوانين از كلي بطور اليه اين .دهند ارائه سيستم

آن در (Business Logic)افزار نرم كاري منطق واقع در و است نرم افزار منطقي پردازش هاي انجام اليه اين وظيفه :)Business )Business Logic - B. Lاليه -2 .است كاربر به اطالعات نمايش امكان هرگونه فاقد اليه اين .است شده پياده سازي

استخراج يا و )Update(رساني روز به ،(Delete)كردن حذف ،(insert) كردن درج نظير داده پايگاه با مرتبط عمليات انجام اليه اين وظيفه :)DAL )DBاليه -3 .مي فرستد BLاليه براي و كرده توليد را فوق فرمان هاي اجراي نتيجه اليه اين .مي باشد (Selection/Query) اطالعات

كه است شده تشكيل منطقي يا فيزيكي صورت به مجزا بخش سه از افزار نرم اليه، سه معماري در .است افزار نرم اليه سه معماري توسعه در مزيت مهمترين واين دارند يكديگر از را استقالل حداكثر .مي شوند نام گذاري زير اسامي با اليه ها معموالً

1. Peresentaion Layer(GUI,UI,User Layer) 2. Business Layer(Business Logic, Business Object) 3. Data Layer(Data Access Layer)

فرادرس

FaraDars.orgمجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

faradars.org/fvcs9311

Page 58: مجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

ASP.NET MVC و وب هاي فرم مبناي بر كه ASP.NETاز همچنان نويسان، برنامه از برخي

Postback هاي ويژگي از كنند، مي استفاده است MVC پلت دو برخي و برند مي سود ها فرم پلت از هيچكدام كه است آن بيانگر موضوع اين و كنند مي تركيب يكديگر با را فرم

بخش تفكيك جهت اليه چند هاي معماري روي بر MVCواقع در .نيستند يكديگر ناقض ها داده صحت كنترل مجوزها، ها، داده مانند برنامه منطقي هاي بخش(برنامه مختلف هاي

.گيرد مي قرار )نهايي كاربر با مرتبط هاي اليه و

MVC ي دهنده تشكيل اجزاي

Model-1)آن تبديل آن، ذخيره اطالعاتي، بانك از داده بازيابي مسئول كه است كاربردي برنامه از قسمتي :)مدل .است مسئله ي دامنه هاي داده براي برنامه منطق سازي پياده و ها آبجكت يا شي به

View-2)( برنامه كاربري واسط كه است برنامه از اجزايي :)نمايشگرUI( اين معموالً .سازد مي را UI هاي داده از .است كاربردي برنامه پايان نقطه واقع در و شود مي ساخته مدل

Controller-3)كه گفت توان مي .دارند عهده بر را كاربر با تعامل مديريت كه هستند برنامه از اجزايي :)كنترلگر كاربري واسط دادن نشان براي را نمايشگري انتها در و كند مي كار مدل با يعني باشند؛ مي نمايشگر و مدل بين واسط

.كند مي تعامل كاربر با و دهد مي پاسخ آنها به و كرده مديريت را كاربر ورودي .كند مي انتخاب

فرادرس

FaraDars.orgمجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

faradars.org/fvcs9311

Page 59: مجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

Socket Programming host دو بين ها داده انتقال جهت اطمينان قابل ارتباط يك سوكت

هاي گي پيچيده از را نويسان برنامه سوكت .باشد مي )نظر مورد ماشين( ها، بسته كردن كد جزئيات مانند ماشين دو بين ارتباط برقراري فرآيند دور ... و خراب هاي بسته مجدد ارسال شبكه، در ها داده ارسال فرآيند

تحت هاي برنامه توسعه به قادر راحتي به نويسان برنامه و سازد مي .باشند مي شبكه

اي اليه صورت به ها پروتكل ساير و TCP/IP پروتكل نرم ها، پروتكل بين رابطه مقابل شكل .اند شده سازماندهي

نشان ها ياب مسير و ها ميزبان در را ها سوكت API و افزارها، هاي سرويس به ها سوكت API طريق از ها افزار نرم .دهد مي .دارند دسترسي TCP و UDP توسط شده ارائه

فرادرس

FaraDars.orgمجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

faradars.org/fvcs9311

Page 60: مجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

Multithreaded Programming برنامه كاربري رابط گويي پاسخ تواند مي چندنخي هاي تكنيك

سري يك كه حالي در واقع در .كند بيشتر كاربر مقابل در را شما فعال شما برنامه كاربري رابط ،شوند مي اجرا زمينه پس در عمليات

.ماند مي باقي گو پاسخ و كار به تواند مي پردازشگر است مشغول Threadيك كه حالي در

Thread بپردازد ديگر هاي. است شده اجرا زمينه پس در طوالني هاي پردازش كه حالي در

.شوند اجرا راحتي به توانند مي مصرف كم هاي پردازش به حتي يا Pause توانند مي زمان از اي لحظه هر در ها پردازش

!شوند متوقف كامل طور با جداگانه طور به را ايThread هر اولويت توانيد مي شما

و كارايي افزايش باعث كار اين كه كنيد تنظيم زياد و كم مقدارهاي .شود مي برنامه قدرت

فرادرس

FaraDars.orgمجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

faradars.org/fvcs9311

Page 61: مجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

Windows Presentation Foundation

با برنامه كاربري واسط با مرتبط كدهاي Window Formsدر Wpf در ليكن .هستند آميخته هم در برنامه منطق با مرتبط كدهاي

آن هاي كنترل و برنامه ظاهر هستند، جدا هم از برنامه منطق و ظاهر چيزي و است ساده خيلي كه ميشه طراحي XAMLزبان با معموالً سي مثل زباني توسط هم برنامه منطق و است XML نويسي كد شبيه ظاهر كه است آينWpf بزرگ هاي برتري از يكي .ميشود نوشته شارپ

به توانند مي ها گرافيست و طراحان و ميشود جدا هم از برنامه منطق و الگوريتم هم نويسان برنامه و كنند كار برنامه ظاهر برروي مستقل صورت

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

اضافي سربار ايجاد بدون گرافيكي هاي جنبه از بسياري از بتوان كه شود مي سبب موضوع اين .است استوار Directx بر WPFاساس و پايه بسيار كار متحمل يا و بوده ممكن غير يا پيشين هاي نويسي برنامه با آن ساختن كه بسازيد ظاهري با برنامه واقع در و برد بهره برنامه روي بر

WPF با توان نمي كه نيست معني بدان اين ليكن باشد، مي .. و انيميشن گرافيكي، اعمال تكنولوژي اين قوت نقطه اگرچه .است بوده زيادي .نمود سابق هاي كنترل و ها فرم ايجاد به اقدام

فرادرس

FaraDars.orgمجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

faradars.org/fvcs9311

Page 62: مجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

WCF (Windows Communication Foundation) ديگر درگاهي به سرويس درگاه يك از هايي پيام صورت به را ها داده توانيد مي WCF از استفاده با .گراست سرويس هاي برنامه ساختن براي كاري قالب يك

تواند مي يا شود، مي ميزباني IIS توسط كه باشد دسترسي در هميشه سرويس از بخشي تواند مي )service endpoint( سرويس درگاه يك .كنيد ارسال .شود مي ميزباني برنامه يك توسط كه باشد سرويسي

شدند معرفي ها سرويس وب كه زماني زمان نيازهاي پاسخگوي مدتي تا

رشد با ليكن بودند، خودشان خواسته و نيازها افزار نرم تكنولوژيهاي

طوري به شد، بيشتر نيز مشتريان هاي ديگر سرويسها وب استاندارد امكانات كه

امكان فاقد سرويسها وب .نبود كافي قبل login به نياز مانند( امنيت تامين

كانال رمزنگاري سرويس، از استفاده از شده تبادل هاي پيام رمزنگاري ارتباطي،

Sessionاز استفاده امكان عدم ،)... و .هستند سرور سمت هاي

فرادرس

FaraDars.orgمجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

faradars.org/fvcs9311

Page 63: مجموعه آموزش های کاربردی برنامه نویسی C# (سی شارپ)

ینویسبرنامه آموزش های کاربردی » این اسالید ها بر مبنای نکات مطرح شده در مجموعه فرادرس های

) C# تهیه شده است« ( شارپسی.

.برای کسب اطالعات بیشتر در مورد این آموزش به لینک زیر مراجعه نمایید

faradars.org/fvcs9311