آموزش سی شارپ C# – بخش ۱
به نام خدا؛
اگر در زمینه برنامه نویسی کمی اطلاعات داشته باشد، احتمالاً می دانید که بعضی زبان ها همانند C++ (سی پلاس پلاس) یا C# (سی شارپ) احتمال می رود به دو صورت کلی، بنا بر خواست و نیاز برنامه نویس، اجرا شود؛ یا Console Application و یا Windows Application.
جهت آشنایی با یک نمونه بسیار ساده از Console Application، می توان به نرم افزار بسیار ساده (اما پرکاربرد) CMD اشاره کرد. اگر تا کنون محیط نرم افزار CMD به چشمانتان نخورده است، مراحل زیر را طی کنید:
• اگر از Windows 7 استفاده می کنید:
o ابتدا وارد منوی استارت شوید؛
o تایپ کنید: ‘run’؛ سپس Enter را بفشارید.
- در پنجره ای که برای شما باز خواهد شد، بنویسید: cmd
پنجره ای شبیه به DOS را مشاهده خواهید کرد. به این محیط در اصطلاح کنسول (Console) می گویند. ما در این آموزش، فقط و فقط جهت شروع به برنامه نویسی با این محیط کار خواهیم کرد. (تنها برای یک بار!)
Windows Application نیز حتماً همه شما با آن آشنایی دارید. تمامی نرم افزارهای موجود همانند: Paint، Windows Media Player، My Computer و غیره را با نام Windows Application می شناسیم.
برای شروع برنامه نویسی به زبان C#، شما می بایست نرم افزار Visual Studio را بر روی سیستم خود نصب کنید. ما برای این آموزش نسخه Visual Studio 2010 Ultimate را جهت استفاده پیشنهاد میکنیم. اگر این نسخه را ندارید، پیشنهاد می شود که به نحوی (دانلود کردن یا خرید دیسک آن) تهیه نمایید.
توجه: البته دقت کنید که میتوانید از نسخه Express و رایگان Visual Studio نیز استفاده کنید؛ که با حجم بسیار کمتر نسبت به Visual Studio 2010 Ultimate، در سایت رسمی مایکروسافت قرار دارد.
بر روی منوی Start وارد شوید، و نرم افزار Microsoft Visual Studio را اجرا کنید.
هنگامی که Visual Studio را اجرا نموده اید، از منوی بالا، بر روی File کلیک کرده و سپس گزینه New را برگزینید و Project را انتخاب کنید.
- در پنجره ای که برای شما باز خواهد شد، اگر که شما از Visual Studio 2010 Ultimate استفاده می کنید، از منوی سمت چپ، در بخش Installed Templates، Visual C# را انتخاب کنید.
- در بخش اصلی (که در وسط پنجره قرار دارد،) بر روی Console Application کلیک کنید تا انتخاب شود.
- در بخش زیر آن، مقدار مقابل Name، برای پروژه خود یک نام دلخواه انتخاب کنید.
- مقدار مقابل Location، محل قرارگیری پروژه خود را مشخص کنید.
- مقدار مقابل Solution Name نیز به تبع، از مقدار Name پیروی می کند. (اما می توانید آن را تغییر دهید!)
- در انتها، بر روی OK کلیک کرده تا پروژه شما ساخته شود.
هنگامی که پروژه آماده شد، پنجره ای همانند پنجره زیر به شما تحویل داده میشود که شامل کدهایی هست که از پیش تعریف شده اند. با دیدن این کدها نترسید؛ هیچ چیز خاصی (فعلاً!) ندارند. پس خیالتان از بابت همه چیز راحت باشد.
علاوه بر بخشی که کدها در درون آن قرار دارند، در سمت راست، بخشی به نام Solution Explorer مشاهده می شود که یک نمای کلی از پروژه شما برایتان نمایان است. (اگر Solution Explorer را مشاهده نمی کنید، با استفاده از منوی View در بالای نرم افزار Visual Studio، گزینه Solution Explorer را برگزینید.
خوب، در جایی که در عکس زیر نمایش داده می شود، بر روی علامت X کلیک کنید تا Program.cs بسته شود.
حال به Solution Explorer مراجعه کنید؛ بر روی Program.cs دوبار کلیک کنید. خواهید دید که پنجره کدها مجدداً نمایان می شود.
حال بر روی علامت + در کنار Properties در بخش Solution Explorer کلیک کنید تا به شکل زیر فولدر Properties باز شود. بر روی فایل AssemblyInfo.cs دوبار کلیک کنید.
نام این فایل AssemblyInfo می باشد که حاوی اطلاعاتی در رابطه با برنامه شما می باشد. کدهایی شبیه به کدهای زیر را خواهید دید. لازم نیست به کدها دقت کنید چون تقریباً به آن نیازی ندارید. کافیست که بر روی سربرگ AssemblyInfo.cs بروید و X را کلیک کنید تا بسته شود.
تا اینجا هیچ کدی ننوشته ایم و تنها قصد معرفی Visual Studio را برای افرادی که با محیط آن آشنا نیستند، بود. دقت کنید که شاید جلسات اول (خصوصاً جلسه اول و دوم) برای خیلیها بسیار کِسِل کننده باشد. من از شما خواهش میکنم که دو جلسه اول که بیشتر معرفی و آموزش کار با Visual Studio است را کمی تحمل کنید؛ پس از آن به شما قول خواهم داد که علاوه بر شروع کدنویسی، خودِ کدنویسی نیز برای شما لذت بخش شود.
دقت کنید که جلسه به جلسه، هر سوالی را که داشته باشید، حتماً حتماً در بخش نظرات بپرسید. زیرا انباشته شدن سوالات روی هم، باعث خواهد شد که مطالب جلسات بعدی را به هیچ عنوان متوجه نشوید.
جلسه بعدیِ آموزش، بزودی قرار خواهد گرفت. به امید دیدار.
این مقاله بر اساس سرفصلهای وبسایت HomeAndLearn.co.uk تنظیم شده و توسط نویسنده این مطلب، از ابتدا تهیه شده است.
امیدوارم آموزشتون ادامه داشته باشه به همچین آموزشی که از مبتدی شروع بشه نیاز داشتم.
سلام عزیزم،
خواهش میکنم؛ وظیفهام را انجام میدهم. شما برای ما دعا کنید خدا به ما عمر بده، بنده انشاءالله از اول تا آخر این آموزش را ادامه خواهم داد.
موفق باشید!
مجله گویا آی تی یکی از کمبود های خوش رو جبران کرد
ممنون.
خواهش میکنم عزیزم. امیدوارم که برای شما مفید واقع باشه.
موفق باشید.
از دیروز تصمیم گرفتم که c# رو یاد بگیرم یه ماهی میشه که c++ رو شروع کرده بودم
خیلی این آموزش به دردم خواهد خورد
در ضمن به نظرت چه کتابی خوبه که برای شروع ازش استفاده کنم ؟
سلام عزیزم،
امیدوارم که بتوانم به بهترین نحو این آموزش رو پیش ببرم.
اگر میخواید که کتاب بخونید، به نظر من بهترین کتابها، کتابهای انگلیسی هست. من هم مطلبی رو که دارم قرار میدم از منبع انگلیسی هست. اما اگر میخواید زودتر پیش برید، میتونید کتابهای O’Reilly رو بخونید. من این کتابها رو پیشنهاد میکنم.
بسیار عالیست. ممنون از زحمات شما
بسیار عالی
کتابی که ذکر کردین اسم دقیق نویسندش و خود کتاب و در صورت امکان لینک دانلودش رو بزارید؛ اموزش هاتون تا چه سطحی ادامه پیدا میکنه اگر یه فهرستی از سرفصل های اموزش بزارید خیلی خوب بود
سلام دوست عزیز،
ممنونم از شما.
لینک خرید کتاب از فروشگاه شرکت اصلی اینجاست: http://shop.oreilly.com/product/9780596159849.do
بنده خود کتاب اصلی را دارم، اما متاسفانه بدلیل اینکه آپلود آن کمی برایم وقتگیر است، از شما معذرت میخواهم. شا با جستوجوی عبارت زیر در Google، حتماً این کتاب را خواهید یافت:
Programming C# 4.0 O’Reilly – 6th Edition
در ضمن، سرفصلها از سایت HomeAndLearn قابل مشاهده هست. اما این اطمینان را به همه شما خواهم داد که اگر عمری برای بنده باقی ماند، تا جایی این آموزشها را پیش خواهم برد که حتی اگر خودم چیزی ننویسم، بتوانید به قسمتهای زیبا و کاربردی سیشارپ مسلط شوید. اما مطمئن باشید که حتماً حتماً بحث شیگرایی را همینجا باز خواهم کرد. چرا که اصلیترین بخش از زبان برنامهنویسی سیشارپ، بحث شیگرایی (Object Oriented) میباشد.
موفق باشید.
سلام و خدا قوت خدمت شما
امیدوارم که لطفتون ادامه دار باشه
یه پیشنهاد!
در صورت امکان برای هر جلسه از آموزش، یک فایل PDF ضمیمه کنید تا بتونیم فایلها را در آرشیو داشته باشیم تا درصورت نیاز دسترسی سریعتر داشته باشیم.
ممنون و متشکر از شما
سلام عزیزم،
ممنونم از دعای خیر شما! شما حتماً برای ما دعا کنید انشاءالله با همکاری یکدیگر این آموزشها رو تا آخر پیش میبریم.
پیشنهادتون هم بسیار عالی هست؛ توی ذهن من قبلاً بود اما فکر میکردم که ممکن است استقبال نشود. این آموزش اول که منتشر شد. اگر وقت کافی برایم ایجاد شد، حتماً توی بخش نظرات قرار میدم. ممکن است هم در انتهای مطلب با عنوان “ضمیمه” چنین بخشی را اضافه میکنم.
از آموزشهای بعدی نیز پیشنهاد شما را در نظر خواهم گرفت.
موفق باشید.
سلام و خسته نباشید.
سوالی که داشتم :
1- آینده برنامه نویسی مبتنی بر برنامه های کاربردی در محیط ویندوز به چه سمتی میرود؟ اگر ما از لحاظ برنامه نویسی کسانی را داریم و خواهیم داشت که ما را از کد نویسی بی نیاز کرده چه تفکری در اینجا باید داشت؟
سلام دوست عزیز،
ممنونم از سوال خوبتون. نگاه کنید؛ سیشارپ تنها برنامهنویسی مبتنی بر تحت محیط سیستمعامل ویندوز نیست؛ بلکه ASP .NET نیز جزو مباحثی است که در سیشارپ میکنجد و کاملاً برتحت وب است. لذا همانطور که PHP یک زبانی است که Server Side هست، ASP .NET نیز به طرز مشابهی عمل میکند.
در رابطه با قسمت دوم سوال شما، دقیقاً منظورتون رو متوجه نشدم. خوب بالاخره باید کسانی باشند که در زمینه برنامهنویسی جهت تامین نیازها فعالیت کنند و همانها هم بالاخره باید از یکجایی شروع به یادگیری زبان برنامهنویسی کنند.
اگر سوالی بود من در خدمت شما هستم.
موفق باشید.
مرسی از پاسخ مفید شما.
به نظر شما فرق بین من برنامه نویس با کسی که در کشور دیگر است با این تفاوت که من فقط برای اینکه امرار معاش کنم از این صنعت چیست؟ شاید بهتر می توان گفت چرا ما خلاقیت و استعداد خود را نمی شناسیم! آیا راهی است که متمرکز یه نقطه نشویم؟
سلام دوست عزیزم،
خواهش میکنم.
من مجدداً متوجه منظور شما نشدم. شما و یا هر برنامهنویس حرفهای دیگری که در کشورهای مختلف زندگی میکند، قطعاً اولین امر برای امرار معاش خود کار میکند. شاید در کشورهای خارجی دیگر که قوانین حقوق مولفین بهصورت جدیتری پیگری میشود و حق کسی ضایع نمیشود، فرد استعدادش شکوفاتر میشود و پیشرفت بیشتری میکند. اما این دلیلی نمیشود که فرد از هرگونه برنامهنویسی کنارهگیری کند.
من خودم حتی اگر شده هم برای سرگرمی و تفریح خودم، و یا رفع نیازهای شخصی خود شروع به برنامهنویسی میکنم؛ هم یاد میگیرم، هم نیازهایم برطرف میشود.
من در این حد متوجه منظور شما شدهام. اگر مسئلهای بود من در خدمت شما هستم.
موفق باشید.
تشکر از اینکه پاسخ به سوالات من و موضوع مفید شما در این پست.
سلام دوست عزیز. خیلی ممنون از اینکه این مطلب رو به نحواحسنت ارائه کردید. اگه توانستید درگوگل درمورد فردی بی ادعا به نام میثم خوشبخت تحقیق کنید. چون ایشان شیوه نوینی درآموزش برنامه نویسی ارائه کرده اندکه به نظرمفیداست
سلام دوست عزیز،
بسیار ممنونم از شما. من حتماً وبسایت شخصی این استاد بزرگوار رو دنبال خواهم کرد و حتماً از شیوههای ایشون استفاده خواهم کرد.
مجدداً تشکر میکنم از شما.
موفق باشید.
با سلام و خسته نباشید
جناب آقای موسوی با تشکر از شما. شروع بسیار خوبی است. اگر این آموزشها بطور مداوم در سایت قرار بگیره خیلی عالی میشه.
سلام عزیزم،
ممنونم از لطف شما. من متوسط هر یک روز یک بار و یا هر دو روز حداکثر این آموزشها را توی سایت قرار میدهم. اما زمان انتشار مطالب دست من نیست و مدیریت اصلی سایت هستند که تعیین میکنند. بنابراین اگر تاخیری از این جانب دیدید به بزرگی خودتون ببخشید.
سلام و خشته نباشید خدمت آقای موسوی عزیز. جا داره تشکر کنم که استارت کار رو برای شروع آموزش #C زدید. خیلی دلم میخواست یاد بگیرم ولی حقیقتش آموزش درست و حسابی و مخصوص مبتدیان که خودمم ازونهام ندیدم! ولی شما یه کار خوب رو شروع کردید و به نظر میرسه که افراد مبتدی رو هم در نظر گرفتید! و امیدوارم در جلسات بعد هم اموزشهاتون خیلی ساده و روان باشه که تا ما هم به مشکلی برنخوریم و بتونیم از اموزشهای خوب شما استفاده کنیم! و ازین زبان بی نصیب نمونیم! بازم متشکرم!
سلام عزیزم،
از این نظر لطف شما واقعاً ممنونم! نظرات شما واقعاً منو خوشحال میکنه. انشاءالله که بتونم با افرادی همچون شما این آموزش رو به بهترین نحو پیش ببرم.
موفق باشید!
ممنون ادامه بدید لطفا خیلی مطلب و پست خوبی هست با تشکر از شما و سایت خوب gooyait
thank you jeff
لطفا سریع مطالب رو بگذارید و کامل سعی کنید باشه و ساده و روان تا کاملا بفهمیم اگر هم شد آخرش مطلب رو برای سایت درسنامه بگذارید !
به نظر من اینجوری خیلی کار خوبی کردید البته اگر این کار رو به ضرر خود نمیدونید !
سلام دوست عزیز،
من تمامی سعی خودم را خواهم کرد که مطالب را سریعتر قرار بدم. اما زمان انتشار مطالب دست مدیریت اصلی سایت هست. انشاءالله که باهاشون درمیون میزارم و کاری کنیم که به نفع شما باشه.
موفق باشید،دوست عزیز!
سلام استاد
از مطالب مفید خیلی خیلی ممنونم خدا قوت
فقط اگه میشد آموزش اکشن اسکریپت 3 (ادوب فلش) از میتدی یا پیشرفته هم بگذارید
یا علی
سلام عزیزم،
خیلی ممنونم از شما.
پیشنهاد شما روی چشم بنده هست اما متأسفانه هیچ زمینهی اطلاعاتیای در رابطه با ادوب فلش و اکشن اسکریپ ندارم. اگر یکی از همکارانم در این زمینه تخصص داشت انشاءالله بتونن شروع کنند.
با سلام بنده vb6 کار کردم بصورت تخصصی و 34 سالمه در پلتفرم ویندوز 8 c# مفیدتر است یا vb.net یعنی تغییر به پلتفرم .net از vb6 با این سن و وقت کم
دوست عزیز سلام،
خوب تا جایی که اطلاعات بنده قد میده، بهنظرم شما بهتره به سمت C# بیاید. توی VB فکر نمیکنم شیگرایی وجود داشته باشه. اما کل قدرت سیشارپ بر پایهی همین شیگرایی هست که به شما یک قدرتی توی برنامهنویسی میده که فکر نمیکنم توی VB احساس کرده باشید. بعداً خدا رو شکر شما حداقل یک زبان رو بلد هستید، پس فکر نمیکنم برای شما وقتگیر باشه یادگیری یک زبان دیگر!
موفق باشید!
درود
مطالب جالبی بود. لینک دانلود ویژوال استدیو ۲۰۱۰ پرو فشنال به همراه سریال نامبر می گزارم برای دوستان علاقمند. به صورت ۴ فایل زیپ هست که وقتی آن ها را دانلود کردید نیاز به آن زیپ ندارد فقط فایل شماره ۱ را اجرا کنید همه کارها انجام می شود. یا اگر از روی سایت میکرو سافت دانلود کردید باز هم سریال کار خواهد داد.
https://docs.google.com/folder/d/0B2rPTRmLF0XGbGYwUl9Ic0g1OE0/edit
سلام
من از امروز متوجه شدم که شما سی شارپ رو آموزش میدید یعنی14 بهمن ازکجا شروع کنم وسوالاتم رو چگونه بپرسم
سلام دوست عزیزم،
شما میتونید از همین اولین بخش با سایت بیاید جلو. هنوز آموزشها مبتدی و بسیار بسیار راحت هستند. میتونید برسید.
سوالاتتون رو هم میتونید توی بخش نظرات بپرسید.
سلام دوست عزیز…
من به یه راهنمایی کوچیک احتیاج دارم..
علاقه زیادی به برنامه نویسی تحت وب دارم…به شبکه هم اندتزه همون علاقه دارم…
میخواستم راهنماییم کنید برای شروع چه کاری باید انجام بدم…
{من زیاد آشنا به برنامه نویسی نیستم…در کل منظورم اینه که میخوام شبکه بخونم و برنامه نویسی وب}
لطفا راهنماییم کنید…
با تشکر…
دوست عزیزم سلام،
من زیاد تخصصی توی شبکه و مراجع و مکانهایی که میشه از اونها شبکه رو یاد گرفت ندارم و اطلاعاتم کافی نیست. اما برای اینکه تحت وب رو بخوای شروع کنی، از هرکجا که میخوای شروع کن و مهم نیست چی هست و کجا هست؛ فقط شروع کن! ولی خوب قبل از هرچیزی مطمئناً باید ابتدا HTML ها رو یاد بگیرید، بعدش CSS و همینطوری برید جلو مثل JavaScript، jQuery و … تا اینکه بریسید به برنامه نویسی تحت وب که مثلاً بین زبانهای مختلف تحت وب مثل PHP, ASP, ASP .NET, Ruby و … تخصص پیدا کنید.
امری باشه در خدمت هستم،
موفق باشید!
باسلام و خسته نباشید خدمت شما
چند روز پیش با دوستم رفته بودیم یکی از این مجتمع های اموزشی تا بقصد یادگیری زبان سی شارپ ثبتنام کنیم بدلیل هزینه های گزاف این کلاسها من نتونستم ثبتنام کنم ولی دوستم ثبتنام کرد تو دپرس بودم که چشمم به اموزش شما افتاد خیلی خوشحال شدم خدا خیرتون بده
میخواستم بدونم من بتنهایی و از این طریق میتونم در سطح اونا سی شارپ رو یاد بگیرم؟ شما در سطح پیشرفته هم آموزش رو ادامه خواهید داد؟
باتشکر وسپاس فراوان
سلام دوست عزیزم،
نمیدونید چقدر با خوندن این کامنت شما خوشحال شدم، و البته از یک نظر دیگه، احساس مسئولیت بیشتری نیز میکنم.
ببینید من کاملاً با شما درمیون میزارم. من قبل از اینکه قصد آموزش خود زبان سیشارپ رو داشته باشم، دارم سعی میکنم زبان انگلیسی شما را با این آموزشها تقویت میکنم. البته زبان انگلیسیای که مربوط به اصطلاحات برنامهنویسی و کامپیوتر میشه. من بیشتر بخشهای آموزشی رو با همون زبان انگلیسی نگه میدارم و اصلاً ترجمه نمیکنم؛ نه اینکه حوصله نداشته باشم، بلکه دوست دارم که اینها رو شما هم بلد باشید. وگرنه آموزشهای زبان سیشارپ اینقدر توی اینترنت پر هست که فکر نمیکنم لازم بود من شروع کنم!
و اما اینکه من تا چه سطحی درس میدم، اگر خدا به ما عمر کافیای برای خدمتگذاری بده، قطعاً سعی میکنم به بهترین جا همه شما رو برسونم، و سعی میکنم که بهترین روشی که ممکن باشه این اتفاق بیفته. حتی من دوست دارم شما به جایی برسید که دیگه از آموزشهای من خسته بشید و سراغ کتابهای انگلیسی برید و خیلی سریعتر و بهتر از من یاد بگیرید این زبان رو.
عذر میخوام اگر جوابم طولانی بود،
موفق باشید!
سلام ممنون از پاسخ و حسن توجهتون
با امید و آرزوی موفقیت روز افزون برای شما
برنامه C# با C#.NET فرق داره یا یکی هستند ؟ من در محیط Microsoft Visual Studio 2010 می خوام برنامه نویسی کنم
من هر جا میرم یکجور جواب میدن یکی میگه فرق نداره یکی هست ، یکی دیگه میگه فرق داره
سلام دوست عزیز،
سیشارپ خودش یک زبانبرنامه نویسی هست و برنامه نیست. برنامه Visual Studio یک IDE (محیط توسعه) هستش که میتونید توسط اون نرمافزارهای نوشته توسط سیشارپ رو اجرا کنید.
.NET خودش یک Framework هست و باعث میشه کدهای سیشارپ شما توی سیستمهای مختلف با کمترین مشکل اجرا بشه.
البته خود سیشارپ فقط Windows Application نیست؛ بلکه برنامه نویسی برای موبایل، وب و … نیز استفاده میشه. اما زیاد تفاوتی با هم ندارند و یادگیری یکی از آنها، تقریباً یادگیری بقیه چیزها رو خیلی راحتتر میکنه و مشکلی وجود نداره.
موفق باشید!
هر دو عبارت معادل یکدیگر بوده و تفاوتی ندارند. در واقع سی شارپ زبانی است مخصوص برنامه نویسی در پلت فرمی تحت عنوان دات نت. از سوی دیگر زبانهایی همچون ویژوال بیسیک از این قاعده تبعیت ننموده و به عنوان مثال، VB زبانی متفاوت از VB.NET می باشد. شاد باشید