PDA

View Full Version : آموزش: آموزش زبان سی شارپ



gwbasic
جمعه 14 اسفند 1388, 00:41 صبح
به نام خدا

مدت ها پیش تصمیم داشتم جزوه ای از آموزش C#‎ را که مدت ها پیش نوشته بودم ، در اختیار شما قرار دهم. و نیاز بود که بخشهایی را تکمیل کنم ولی متاسفانه این فرصت پیش نیامد بنابر این حداقا هر آنچا که هست را در چند پست در اختیار شما قرار می دهم. امیدوارم با دعای خیر شما بتوانم مطالب را تکمیل کنم.

قبل از هر چیز لازم می دانم از اساتیدی که زحمت کشیدند و در جهت ایجاد منابع فارسی آموزشی تلاش کردند صمیمانه تشکر کنم. امیدوارم که این جزوه هم در کنار دیگر منابع فارسی مفید واقع شود.

در این جزوه سعی کردم که مطالب را به صورت نسبتا خلاصه توضیح دهم بنابراین در برخی مباحث نیاز است که به دیگر منابع فارسی و انگلیسی نیز مراجعه شود.

این جزوه خالی از ایراد نیست بنابراین خوشحال می شوم انها را به من از طریق پیام خصوصی متذکر شوید.

gwbasic
جمعه 14 اسفند 1388, 00:54 صبح
آموزش شی گرایی (object oriented)





سر فصل ها :

کلاس Class
انواع متغیر ها
متد method
سازنده Constructor
مستند سازی Documentation
مخفی سازی Encapsulation
خصوصیت Property
Ref , Out
static
Const ReadOnly
وراثت Inheritance
فرق Virtual و Hiding
Casting
System.Object

gwbasic
جمعه 14 اسفند 1388, 03:33 صبح
Windows Application


سر فصل ها :


Form

MessageBox

Button

TextBox

VScrollBar

PictureBox

CheckBox

RadioButton

gwbasic
پنج شنبه 20 اسفند 1388, 23:31 عصر
سرفصل ها :

ToolTip
اعتبارسنجی Validation (لطفا به فایل PowerPoint توجه کنید)
بررسی ترتیب Event ها وقتی که فوکوس از یک کنترل به کنترل دیگری منتقل می شود باتوجه به خصوصیت CausesValidation

gwbasic
جمعه 20 فروردین 1389, 00:08 صبح
سر فصل ها :

برنامه های چند سندی یا MDI
فرم های پیش ساخته یا Dialogs

gwbasic
سه شنبه 24 فروردین 1389, 16:54 عصر
در سی شارپ چهار روش برای مقایسه وجود دارد!

در پست زیر آنها را بررسی کردم :
http://barnamenevis.org/forum/showthread.php?t=203646&highlight=%D8%A2%D9%85%D9%88%D8%B2%D8%B4+Backgroun dworker

gwbasic
جمعه 03 اردیبهشت 1389, 06:36 صبح
سر فصل ها :

آرایه ها (Arrays)
مجموعه ها (Collections)
ListBox & ComboBox

gwbasic
سه شنبه 03 خرداد 1390, 11:57 صبح
رزرو Windows Form & Controls

gwbasic
سه شنبه 03 خرداد 1390, 11:58 صبح
رزرو Interface , Abstract

gwbasic
سه شنبه 03 خرداد 1390, 12:00 عصر
DataBinding در WindowsForms
http://barnamenevis.org/showthread.php?288558-Data-Binding

gwbasic
پنج شنبه 22 فروردین 1392, 15:25 عصر
ضمیمه ها حذف شده بود که دوباره upload‌ شدن می تونید استفاده کنید.

Roya.Rashidi
یک شنبه 02 شهریور 1393, 20:23 عصر
سلام .
من کاربرد دقیق ساخت خاصیت به وسیله تابع get و set رو نفهمیدم . تا الان همه مثال هایی که ار این تابع دیدم مثال هایی بودن که راحت به یه کد دیگه میشد راحت نوشت .
مثلا این خاصیت فقط خاندنی رو نگاه کنید .


public string Fullname
{
get
{
return FirstName + " "+ LastName;
}
}
خب این کد رو میشه اینجوری راحت نوشت .


string Fullname= Firstname +Lastname;
حالا واقعا کاربرد ایجاد خاصیت در همین حد ؟
http://forum.p30world.com/images/New-Smile3/13.gif

اگه نه بیزحمت یه نمونه کد ساده بزارین که اصلا نشه خاصیت رو بوسیله کدهای دیگه نوشت تا قشنگ بفهمم


خاهشا اگه جای سوالام اشتباس بگید کجا بپرسم از این جور سوالا خیلی دارم .

محمد آشتیانی
یک شنبه 02 شهریور 1393, 20:38 عصر
سلام
اگر شما به صورت دوم بنویسی ، اولا دیگه یه پراپرتی نخواهد بود و ضمنا وقتی شما برای کلاس یه پراپرتی مینویسی ، با get , set در واقع میتونی خارج از کلاس اون پراپرتی رو مقدار دهی کنی و مقدرشو بخونی

Roya.Rashidi
پنج شنبه 06 شهریور 1393, 21:27 عصر
سلام. این همه گزینه تو سلوشن اکسپلورر وجود داره درس ؟ اینارو باید حتما یاد بگیرم؟ 122804

IMG]
http://upload7.ir/imgs/2014-08/86268776217863280182_thumb.png (http://upload7.ir/viewer.php?file=86268776217863280182.png)
[/IMG]
..
بی زحمت یه راهنمایی ایم کنید که چیجوری از تو help بتونم کاربرد اون فایلارو بدونم . یا اینکه رو هرکدوم کلیک میکنم یه سری کد میاد ، از تو help چیجوری بفهمم این کدها چی هستن ؟ مرسی .


نزدیگ چندگیگ هم help شو دانلود کردم .
در کل میخام نحوه کار کردن با help رو بدونم مثلا چیجوری بفمم using system; یغنی چی ؟


راستی linq هم میخام یاد بگیرم . از کی میتونم اونو یاد بگیرم ؟
دباره مرسی

Roya.Rashidi
دوشنبه 10 شهریور 1393, 21:08 عصر
سلام . چرا بعضی وقتا حتما بیلد رو بزنم تا ارور کدهای قبلی رو پاک کنه .
من با administrator لاگین میشم به این ربط داره ؟؟

Roya.Rashidi
سه شنبه 11 شهریور 1393, 21:45 عصر
مثل اینکه این تایپک به تاریخ پیوست

elec60
چهارشنبه 12 شهریور 1393, 16:50 عصر
سلام .
من کاربرد دقیق ساخت خاصیت به وسیله تابع get و set رو نفهمیدم . تا الان همه مثال هایی که ار این تابع دیدم مثال هایی بودن که راحت به یه کد دیگه میشد راحت نوشت .
مثلا این خاصیت فقط خاندنی رو نگاه کنید .


public string Fullname
{
get
{
return FirstName + " "+ LastName;
}
}
خب این کد رو میشه اینجوری راحت نوشت .


string Fullname= Firstname +Lastname;
حالا واقعا کاربرد ایجاد خاصیت در همین حد ؟
http://forum.p30world.com/images/New-Smile3/13.gif

اگه نه بیزحمت یه نمونه کد ساده بزارین که اصلا نشه خاصیت رو بوسیله کدهای دیگه نوشت تا قشنگ بفهمم


خاهشا اگه جای سوالام اشتباس بگید کجا بپرسم از این جور سوالا خیلی دارم .


مورد اولي كه نوشتين Property هست و مورد دوم field

وقتي field رو به صورت Public بنويسين ميتونين از بيرون دسترسي داشته باشين و با Property فرقي نميكنه، فقط يه فرق داره و اونم اينه كه وقتي تو Property دارين set ميكنين ميتونين Data Validation انجام بدين.
مثلا فرض كنين Property از نوع int باشه و سن فرد باشه. Age
تو قسمت set ميتونين شرط بزارين كه اگه مقداري كه كاربر داره وارد ميكنه منفي بود بجاش مثلا صفر بزاره تا Invalid data وارد نشه.

ولي اگه Age فيلد باشه موقع assign كردن مقدار كاربر ميتونه مقدار منفي هم بده. كه البته ميشه بعدا كنترل كرد و اگه منفي بود صفرش كرد ولي كار Property راحت تر و تميز تره

Roya.Rashidi
پنج شنبه 13 شهریور 1393, 22:46 عصر
سلام فرق static با public چیه ؟؟
بعدشم میشه با سی شارپ برنامه نویسی اندروید نوشت ؟؟ اگه اره باید چقد بخونم تا به اون مرحله برسم.

elec60
پنج شنبه 13 شهریور 1393, 23:12 عصر
سلام فرق static با public چیه ؟؟
بعدشم میشه با سی شارپ برنامه نویسی اندروید نوشت ؟؟ اگه اره باید چقد بخونم تا به اون مرحله برسم.

static و public رو نمیشه باهم مقایسه کرد!
Public یه Access Modifier هست که معنیش اینه که از هر جایی قابل دسترسی هست.
Static کلمه کلیدی که اگه مثلا تو تعریف متد بیاد برای اجرا کردن اون متد از آبجکت نمیشه استفاده کرد و با استفاده از Type بهش میشه دسترسی داشت.
بهتره یه کتاب خوب استارت بزنی و مطالعه کنی، مثل کتاب جوزف البهاری

با Xamarin میتونی واسه اندروید و iOS برنامه بنویسی

Roya.Rashidi
پنج شنبه 13 شهریور 1393, 23:47 عصر
static و public رو نمیشه باهم مقایسه کرد!
Public یه Access Modifier هست که معنیش اینه که از هر جایی قابل دسترسی هست.
Static کلمه کلیدی که اگه مثلا تو تعریف متد بیاد برای اجرا کردن اون متد از آبجکت نمیشه استفاده کرد و با استفاده از Type بهش میشه دسترسی داشت.
بهتره یه کتاب خوب استارت بزنی و مطالعه کنی، مثل کتاب جوزف البهاری

با Xamarin میتونی واسه اندروید و iOS برنامه بنویسی
ممنون
این کتابه الکترونیکیش نیست نه ؟؟ انگلیسیه ؟؟
بعدشم من کتاب محمد رضا هاشمیان میخونم بده مگه ؟؟ کامله که تازه از سایت learning.tv فیلماشم گرفتم دیگه فک کنم اینارو بخونم همه چی سی شارپو یاد بگیرم .

CsharpNevisi
پنج شنبه 13 شهریور 1393, 23:51 عصر
بعدشم من کتاب محمد رضا هاشمیان میخونم بده مگه ؟؟ کامله که تازه از سایت learning.tv فیلماشم گرفتم دیگه فک کنم اینارو بخونم همه چی سی شارپو یاد بگیرم .

فک نکنم همه چیو یاد بگیریا .. !!! :لبخند:
C# برای خودش دنیایی داره .. !!!

Roya.Rashidi
پنج شنبه 13 شهریور 1393, 23:57 عصر
فک نکنم همه چیو یاد بگیریا .. !!! :لبخند:
C#‎ برای خودش دنیایی داره .. !!!
خب الان کتاب و فیلمایی که گفتم بخونم و یاد بگیرم میتونم یه برنامه نویسی خوب بشم ؟؟

javady_joon
جمعه 14 شهریور 1393, 00:33 صبح
در مورد بانک هم میذاشتی خیلی خوب میشد

hsdnhd
جمعه 14 شهریور 1393, 01:05 صبح
برنامه نویسی کتاب وفیلم نیست من حدود 100 گیگ فایل آموزشی سی شارپ اعم از کتاب عکس سورس وفیلم دارم همشونم چندین باردیدم ولی هنوزم خودمو برنامه نویسی نمیدونم چه برسه به خوبش چون نوشتن یه برنامه مدیریت یا حسابداری به نظرمن برنامه نویسی نیست چون هزارنفرقبل تو نوشتنش باید چیزی جدید ی بنویسی تابرنامه نویس بشه بهت گفت این نظرمن درموردبرنامه نویسی خودمه هرکسی نظرخاص خودش رو داره درضمن برنامه نویسی همش تجربست اگررایگان هم شد مدتی جایی استخدام بشید وباتکنیک های مختلف آشنا بشید

CsharpNevisi
جمعه 14 شهریور 1393, 10:19 صبح
خب الان کتاب و فیلمایی که گفتم بخونم و یاد بگیرم میتونم یه برنامه نویسی خوب بشم ؟؟

من که نمیدونم سر فصل های اموزشیش چه چیزایی هست .. !!!
شما بهتره پروژه مهور پیش برید ... !!!
خلاقیت تو برنامه نویسی خیلی مهمه ... !!!
اول یه wordpad درست کن .. بعد برنامه های تحت بانک ..!!!

Roya.Rashidi
جمعه 14 شهریور 1393, 10:23 صبح
من که نمیدونم سر فصل های اموزشیش چه چیزایی هست .. !!!
شما بهتره پروژه مهور پیش برید ... !!!
خلاقیت تو برنامه نویسی خیلی مهمه ... !!!
اول یه wordpad درست کن .. بعد برنامه های تحت بانک ..!!!
خب ورد پد بلدم درس کنم . اونقدم خنگ نیستم که .
تازه کوئری بلدم . sql هم یه ذره بلدم . میتونم دست پا شکسته این برنامه هارو درس کنم. از همه چی کامپیوترم سر در میارم.
منظورم این بود که واسه بازار کار قشنگ بلد باشم یا درکم خوب بشه

CsharpNevisi
جمعه 14 شهریور 1393, 15:45 عصر
اهان ... !!!
پیشنهاد دوستمون خوبه ... برو کاراموزی

javady_joon
جمعه 14 شهریور 1393, 17:59 عصر
اگر آموزش اتصال به انک sql رو هم میذاشتید خیلی خوب میشد

javady_joon
جمعه 14 شهریور 1393, 18:00 عصر
اهان ... !!!
پیشنهاد دوستمون خوبه ... برو کاراموزی

ببخشید کجاها میشه رفت کار آموزی؟

CsharpNevisi
جمعه 14 شهریور 1393, 18:20 عصر
ببخشید کجاها میشه رفت کار آموزی؟

شرکت های برنامه نویسی دیگه .. !!! :لبخند:
یه پروژه داشته باشین که قرار باشه عمده به فروش برسه باید رو انواع ویندوزها تست بشه .. مطمئنا یه سری مشکلات براتون پیش میاد تو تستش روی سیستم عامل های مختلف .. !!!
با برطرف کردن اونها خودتونم اب دیده میشید .. !!! :لبخند:
مثلا من خودم یه برنامه داشتم که توش تشخیص گفتار کار رده بودم ... در حد فهمیدن چند کلمه و استفاده از فرمان گفتاری برای چندتا قسمت ... تو سیستم عامل های مختلف انواعو اقصام ارورهارو میداد که رْسم کشیده شد تا برطرفش کردم ولی تجربم بیشتر شد .. !!!
شمام یه همچین کاری کنید ... یه برنامه پیشرفته بنویسید و تو سیستم عامل های مختلف تستش کنید ... !!! ببینید عیباشون چیه و بر طرف کنید .. اینطوری راحت تر میتونید ارورهای برنامه های بعدی رو برطرف کنید .. !!!
کدنویسیم تو همون پروژه پیشرفته خود به خود پیشرفت میکنه ... !!!

sohil_ww
جمعه 14 شهریور 1393, 20:08 عصر
ببخشید کجاها میشه رفت کار آموزی؟

شرکت های نرم افزاری از خداشونه یه کار آموز براشون بیاد یه شرکت خوب پیدا کن برو پیشنهاد بده مطمین باش ورت می دارن

Roya.Rashidi
جمعه 14 شهریور 1393, 21:00 عصر
شرکت های برنامه نویسی دیگه .. !!! :لبخند:
یه پروژه داشته باشین که قرار باشه عمده به فروش برسه باید رو انواع ویندوزها تست بشه .. مطمئنا یه سری مشکلات براتون پیش میاد تو تستش روی سیستم عامل های مختلف .. !!!
با برطرف کردن اونها خودتونم اب دیده میشید .. !!! :لبخند:
مثلا من خودم یه برنامه داشتم که توش تشخیص گفتار کار رده بودم ... در حد فهمیدن چند کلمه و استفاده از فرمان گفتاری برای چندتا قسمت ... تو سیستم عامل های مختلف انواعو اقصام ارورهارو میداد که رْسم کشیده شد تا برطرفش کردم ولی تجربم بیشتر شد .. !!!
شمام یه همچین کاری کنید ... یه برنامه پیشرفته بنویسید و تو سیستم عامل های مختلف تستش کنید ... !!! ببینید عیباشون چیه و بر طرف کنید .. اینطوری راحت تر میتونید ارورهای برنامه های بعدی رو برطرف کنید .. !!!
کدنویسیم تو همون پروژه پیشرفته خود به خود پیشرفت میکنه ... !!!
شرایط شرکت رفتن ندارم. من رشته ام حسابداریه . میشه یه برنامه خوب و قشنگ حسابداری درس کنم برای یادگیریه بهتر و رزومه ؟؟اصلا واسه یادگیری تاثیر داره ؟
با بانک اطلاعاتی SQL هم در اون حد بلدم که بتونم اطلاعات رو توش بریزم سرج کنم حذف کنم و ...
اگه اره باید درکنار سی شارپ دیگه چیه ها بلد باشم . مثلا ado .net ؟ wpf یا ....
.....
راستی نمیشه تو سایت یه روم داشته باشیم مثل یاهو درباره موضوعات مربوط به سی شارپ صحبت کنیم. ؟

CsharpNevisi
جمعه 14 شهریور 1393, 22:43 عصر
شرایط شرکت رفتن ندارم. من رشته ام حسابداریه . میشه یه برنامه خوب و قشنگ حسابداری درس کنم برای یادگیریه بهتر و رزومه ؟؟اصلا واسه یادگیری تاثیر داره ؟
با بانک اطلاعاتی SQL هم در اون حد بلدم که بتونم اطلاعات رو توش بریزم سرج کنم حذف کنم و ...
اگه اره باید درکنار سی شارپ دیگه چیه ها بلد باشم . مثلا ado .net ؟ wpf یا ....
.....
راستی نمیشه تو سایت یه روم داشته باشیم مثل یاهو درباره موضوعات مربوط به سی شارپ صحبت کنیم. ؟

سعی کن ب وسیله linq با بانک ارتباط برقرار کنی
linq و entity freamwork تو بازار خواهان دارن ... !!
wpf برای جلوه های بصری زیبا خوبه ... !!
از کامپوننت های dot net bar استفاده کن ... !!!
سعی کن کار با thread ها رو یاد بگیری ... !!!
بانک sql رو هم برو دنبالش خوب یاد بگیر .. !!!
سوکت پروگرمینگ رو هم یاد بگیری بد نیست ... !!!
قبل از هرچیزی سعی کن کار با رشته ها رو یاد بگیری ... چیزاییه کوچیکی رو یاد بگیر که کیفیت کد نویسیتو بالا ببرن ... نوشتن الگوریتم بهینه خیلی خیلی مهمه ... !!!
بقیه چیزارم در صورت نیاز با یه پرسو جو ساده پیدا میکنی

راستی نمیشه تو سایت یه روم داشته باشیم مثل یاهو درباره موضوعات مربوط به سی شارپ صحبت کنیم. ؟
من یه پشتیبانی انلاین برای سایتم درست کردم .. !!!
اگه نیاز به کمک داشتی و خواستی که لایو حرف بزنی بیا اونجا : http://www.support.wenda.ir/

javady_joon
شنبه 15 شهریور 1393, 01:38 صبح
سعی کن ب وسیله linq با بانک ارتباط برقرار کنی
linq و entity freamwork تو بازار خواهان دارن ... !!
wpf برای جلوه های بصری زیبا خوبه ... !!
از کامپوننت های dot net bar استفاده کن ... !!!
سعی کن کار با thread ها رو یاد بگیری ... !!!
بانک sql رو هم برو دنبالش خوب یاد بگیر .. !!!
سوکت پروگرمینگ رو هم یاد بگیری بد نیست ... !!!
قبل از هرچیزی سعی کن کار با رشته ها رو یاد بگیری ... چیزاییه کوچیکی رو یاد بگیر که کیفیت کد نویسیتو بالا ببرن ... نوشتن الگوریتم بهینه خیلی خیلی مهمه ... !!!
بقیه چیزارم در صورت نیاز با یه پرسو جو ساده پیدا میکنی

من یه پشتیبانی انلاین برای سایتم درست کردم .. !!!
اگه نیاز به کمک داشتی و خواستی که لایو حرف بزنی بیا اونجا : http://www.support.wenda.ir/

سلام
من چرا نمیتونم وارد سایتت بشم؟

CsharpNevisi
شنبه 15 شهریور 1393, 09:47 صبح
اگه من انلاین نباشم شما نمیتونی وارد سایت بشی .. چون کسی نیست جواب شمارو بده

123128

Roya.Rashidi
چهارشنبه 19 شهریور 1393, 07:57 صبح
سلام. من اول پروگرس بار انتخاب کردم بعد پیکچر باکس انتخاب کردم حالا پروگسباره همش میره زیره پیکچر باکس . باید چیکار کنم حالا ؟؟
اگه اول پیکچر باکس رو انتخاب میکردم میشد ولی من اول پروگرس بارو انتخاب کردم که :ناراحت:

CsharpNevisi
چهارشنبه 19 شهریور 1393, 09:11 صبح
رو پیکچرباکس کلیک راست کن send to back رو بزن
123279

Roya.Rashidi
چهارشنبه 19 شهریور 1393, 20:21 عصر
رو پیکچرباکس کلیک راست کن send to back رو بزن


سلام ممنون بابت جواب .

من دوتا فرم به برنامه ام اضافه کردم حالا میخام اول فرم دومم لود بشه باید چیکار کنم
خودم از فایل program.cs بصورت دستی بلدماا راش همینه فقط ؟؟

بعدشم من فرم جدیدو از فرم قدیم میخام شو کنم که اصلا متد show() نیست.


درباره این build Action هم که با پیکان مشخص کردم بیزحمت یه توضیح بدین که چیه اصلاhttp://forum.p30world.com/images/New-Smile3/13.gif

http://upload7.ir/imgs/2014-09/68537320756140403572.jpg


مرسی

محمد قانعی
دوشنبه 31 شهریور 1393, 23:42 عصر
فکر کنم منظورت فرم Login باشه!

کدش اینه.


FrmLogin flogin = new FrmLogin();
flogin.ShowDialog();


دستورات بعداز ShowDialog تا زمان بسته شدن فرم دوم اجرا نمی شوند.
برای اطلاعات بیشتر می تونی تو همین سایت form login رو جستجو کنی!

Roya.Rashidi
چهارشنبه 02 مهر 1393, 02:33 صبح
سلام به همه .
هر وقت میخام فرم اصلیم رو لود کنم و اسپلش اسکرین رو ببندم این میاد :ناراحت:

http://upload7.ir/imgs/2014-09/53968763648244058652.png



چندتا راه بلدم که درس شه ولی فک میکنم بطور غیر عادی پیچیده میشه . میخاستم بدونم راه ساده داره ؟
ممنون .

یونس ابراهیمی
چهارشنبه 02 مهر 1393, 06:31 صبح
پیغامش که اینو میگه :
قبل از فراخوانی showdialog، خاصیت visible فرم1 رو برابر False قرار بده.