سی شارپ

آموزش زبان برنامه نویسی سی شارپ – #C – زبان برتر شرکت مایکروسافت و مادر زبان‌های برنامه‌نویسی NET. ، زبان سی شارپ ، سی شارپ آموزش


زنگ سی شارپ – قسمت سی و چهارم

مسعود درویشیان ۴ دیدگاه سی شارپ یکشنبه, ۹ام تیر , ۱۳۹۲ 9405 بازدید

زنگ سی‌شارپ - قسمت سی و چهارم

overload کردن True و False

کلمات کلیدی true و false نیز می‌توانند به‌عنوان unary operators به‌منظور overload کردن مورد استفاده قرار گیرند. نسخه‌ی overload شده‌ی این operator ها با توجه به کلاسی که شما می‌سازید، شخصی‌سازی می‌شود. هنگامی‌که true و false برای یک کلاس overload می‌شوند، می‌توانید از اشیای آن کلاس برای کنترل کردن if، for، while و do-while و همچنین ? استفاده کنید.

زنگ سی شارپ – قسمت سی و چهارم

زنگ سی شارپ – قسمت سی و سوم

مسعود درویشیان ۳ دیدگاه سی شارپ چهارشنبه, ۵ام تیر , ۱۳۹۲ 8499 بازدید

Overloading Unary Operators

همان‌طور که در قسمت سی و یکم توضیح داده شد، دو حالت از Operator Method وجود دارد: Unary Operators و Binary Operators که با Binary Operators نیز آشنا شدید. Unary Operator ها مانند Binary Operator ها overload می‌شوند و با این تفاوت که در Unary Operators تنها یک operand وجود دارد.

زنگ سی‌شارپ - قسمت سی و سوم

فرم کلی Unary Operators به‌شکل زیر است:

// General form for overloading a unary operator
public static ret-type operator op(param-type operand)
{
    // operations
}

به‌عنوان مثال متد زیر، unary minus را overload می‌کند:

public static TwoD operator -(TwoD ob)
{
    TwoD result = new TwoD();
    result.X = -ob.X;
    result.Y = -ob.Y;
    return result;
}

زنگ سی شارپ – قسمت سی و سوم

زنگ سی شارپ – قسمت سی و دوم

مسعود درویشیان ۲۰ دیدگاه سی شارپ شنبه, ۲۵ام خرداد , ۱۳۹۲ 15405 بازدید

در قسمت قبل، در حل تمرین شماره ۱۴ توانستید تک‌آهنگ‌های هر هنرمند را ویراش کنید، در این قسمت قصد داریم آلبوم‌های ذخیره شده را ویراش و همین‌طور تک‌آهنگ‌ها‌ و آهنگ‌های آلبوم هر هنرمند را Play و Stop کنیم.

زنگ سی‌شارپ - قسمت سی و دوم

با ویرایش آلبوم شروع می‌کنیم. پس از این‌که برای هر هنرمند تعدادی آلبوم ذخیره کردید، کاربر باید بتواند تماماً این آلبوم را ویرایش کند. یعنی نام آلبوم، سال انتشار، سبک و آهنگ‌های آلبوم (با تمام جزئیات هر آهنگ) باید قابل ویرایش باشد و در نهایت باید این قابلیت وجود داشته باشد که آلبوم یا آهنگ‌های آن را بتوان حذف کرد.

زنگ سی شارپ – قسمت سی و دوم

زنگ سی شارپ – قسمت سی و یکم

مسعود درویشیان ۶۱ دیدگاه سی شارپ دوشنبه, ۳۰ام اردیبهشت , ۱۳۹۲ 37992 بازدید

در قسمت قبلی زنگ سی‌شارپ، در حل تمرین شماره‌ی ۱۴، توانستید برای هر هنرمند آلبوم ذخیره کنید، هنرمند را حذف کنید و آلبوم‌های ذخیره شده را مشاهده کنید. همچنین به تفاوت == و متد ()Equals پی بردید و اندکی با namespace آشنا شدید. در این قسمت در مورد Operator Overloading صحبت خواهیم کرد و سپس به ادامه‌ی حل تمرین شماره ۱۴ می‌پردازیم.

زنگ سی‌شارپ - قسمت سی‌ام

Operator Overloading

سی‌شارپ به شما اجازه می‌دهد operator (عملگر) هایی تعریف کنید که مرتبط به کلاس‌هایی است که خودتان می‌سازید. به این پروسه، operator overloading گفته می‌شود. با overload کردن یک operator، شما کاربرد آن operator را به کلاس خودتان اضافه می‌کنید. تاثیری که این operator روی کلاس شما می‌گذارد کاملاً تحت کنترل خودتان است و ممکن است برای هر کلاس متفاوت باشد. به‌عنوان مثال، کلاسی که یک لیست پیوندی تعریف می‌کند، ممکن است از عملگر + برای افزودن یک شیء به انتهای لیست، استفاده کند. کلاسی که stack را اجرا می‌کند، ممکن است از عملگر + برای افزودن یک شیء به بالای پشته، استفاده کند. کلاسی دیگر ممکن است از عملگر + به‌طور کاملاً متفاوت استفاده کند.

زنگ سی شارپ – قسمت سی و یکم

زنگ سی شارپ – قسمت سی‌ام

مسعود درویشیان ۲۶ دیدگاه سی شارپ شنبه, ۱۴ام اردیبهشت , ۱۳۹۲ 16405 بازدید

در قسمت قبلی زنگ سی‌شارپ در حل تمرین شماره‌ی ۱۴ تا آنجا پیش رفتیم که توانستیم یک هنرمند را ذخیره و هم‌چنین توانستیم لیست هنرمندهای ذخیره شده را مشاهده کنیم. در این قسمت به ادامه‌ی حل تمرین شماره ۱۴ می‌پردازیم.

زنگ سی‌شارپ - قسمت سی‌ام

هنگامی که یک Artist را ذخیره می‌کنید علاوه‌بر ذخیره کردن آن، یک‌سری عملیات دیگر را باید روی آن انجام دهید. در این برنامه عملیات Edit، Delete، Add Album، Add Single Tune، View Single Tunes و View Albums برای هر خواننده مد نظر ما است. بدین معنی که پس از افزودن یک خواننده به جعبه‌ی موسیقی، بتوانیم به آن، آلبوم و تک‌آهنگ اضافه کنیم، آثار آن هنرمند را ویرایش کنیم، ببینیم، بشنویم و یا این‌که آن هنرمند را به‌کلی حذف کنیم.
زنگ سی شارپ – قسمت سی‌ام

زنگ سی شارپ – قسمت بیست و نهم

مسعود درویشیان ۵۳ دیدگاه سی شارپ شنبه, ۲۴ام فروردین , ۱۳۹۲ 28640 بازدید

در قسمت قبل با ساختار کلی برنامه آشنا شدید، در این قسمت به ادامه‌ی مبحث جلسه‌ی قبل و تکمیل تمرین شماره‌ی ۱۴ می‌پردازیم. اگر به‌یاد داشته باشید در قسمت قبل یک‌سری کلاس تعریف کردیم که در این برنامه از آن‌ها استفاده خواهیم کرد. در در ادامه یک جمع‌بندی از کلاس‌هایی که قرار است از آن‌ها استفاده کنیم را مشاهده می‌کنید.

زنگ سی‌شارپ - قسمت بیستم و نهم

کلاس Tune: این کلاس شامل یک‌سری فیلد برای ذخیره اطلاعات مربوط به آهنگ و دو constructor است. این‌طور در نظر گرفته‌ایم که دو نوع آهنگ می‌تواند وجود داشته باشد: تک‌آهنگ و آهنگ آلبوم. بنابراین یک constructor برای ساخت تک‌آهنگ و یک constructor برای ساخت آهنگ آلبوم در نظر گرفته‌ایم.

زنگ سی شارپ – قسمت بیست و نهم

زنگ سی شارپ – قسمت بیست و هشتم

مسعود درویشیان ۳۴ دیدگاه سی شارپ یکشنبه, ۱۸ام فروردین , ۱۳۹۲ 26748 بازدید

حل تمرین شماره ۱۴

بدون شک این تمرین برای دوستانی که مقالات زنگ سی‌شارپ را دنبال می‌کنند تا حدی مشکل بود بنابراین اگر موفق به حل آن نشدید اصلاً نگران نباشید. هدف از قرار دادن این تمرین این بود که با برنامه‌های بزرگ‌تر آشنا شوید و ارتباط بین اشیاء در برنامه‌ها را بهتر و بیشتر درک کنید.

زنگ سی‌شارپ - قسمت بیستم و هفتم

برای نوشتن هر برنامه‌ای، ابتدا می‌بایست آن را برای خودتان (تا آنجا که می‌توانید) تجزیه و تحلیل کنید و مستقیماً Code Editor را باز نکرده و شروع به برنامه‌نویسی نکنید! مسلماً اگر تازه‌کار باشید و برای نوشتن برنامه، بدون تحلیل اولیه مستقیماً سراغ کدنویسی بروید، احتمالاً بیشتر دچار مشکل می‌شوید بنابراین سعی کنید همیشه تحلیل اولیه را انجام دهید، هرچند که تحلیل کاملی نباشد!

زنگ سی شارپ – قسمت بیست و هشتم

زنگ سی شارپ – قسمت بیست و هفتم

مسعود درویشیان ۳۲ دیدگاه سی شارپ پنج شنبه, ۱۰ام اسفند , ۱۳۹۱ 22515 بازدید

در قسمت قبل با return کردن object و overloading آشنا شدید. در این قسمت از زنگ سی‌شارپ قصد داریم به مباحث مهم stack ،heap ،value types ،reference types، boxing و unboxing بپردازیم و همچنین optional arguments، named arguments، garbageCollection و object initializers را مورد بحث و بررسی قرار دهیم.

زنگ سی‌شارپ - قسمت بیستم و هفتم

هنگامی‌که یک متغیر تعریف می‌کنید، دقیقاً چه اتفاقی می‌افتد؟

هنگامی‌که شما در اپلیکیشن‌های NET. یک متغیر تعریف می‌کنید، قسمتی از حافظه‌ی RAM برای این منظور اختصاص داده می‌شود. این قسمت از حافظه، شامل سه چیز است: نام متغیر، data type متغیر و مقدار متغیر.

زنگ سی شارپ – قسمت بیست و هفتم

زنگ سی شارپ – قسمت بیست و ششم

مسعود درویشیان ۴۸ دیدگاه سی شارپ جمعه, ۲۷ام بهمن , ۱۳۹۱ 33820 بازدید

در قسمت قبل با چکونگی ارسال argument از طریق reference و همچنین با کلمات کلیدی out، ref و params آشنا شدید. در این قسمت قصد داریم با return کردن object از متد، Method Overloading و overload کردن constructor آشنا شویم.

زنگ سی‌شارپ - قسمت بیستم و چهارم

Return کردن object از متد

تا این‌جا type های مختلفی را از یک متد return می‌کردیم البته در سی‌شارپ شما می‌توانید هر data type ای را از یک متد return کنید مثل int، double، float و… اما در این‌جا قصد داریم چیز دیگری را از متد بازگردانیم: class types.

زنگ سی شارپ – قسمت بیست و ششم

زنگ سی شارپ – قسمت بیست و پنجم

مسعود درویشیان ۳۴ دیدگاه سی شارپ جمعه, ۲۰ام بهمن , ۱۳۹۱ 20970 بازدید

فرستادن Reference به متدها

تا این قسمت از زنگ سی‌شارپ، پارامترهایی که به متد داده می‌شدند همه‌گی  value type بودند (مانند int یا double و…) اما علاوه بر value type شما می‌توانید از reference type نیز به‌عنوان پارامتر استفاده کنید. این‌کار به یک شیء اجازه می‌دهد تا بتواند به یک متد فرستاده شود.

زنگ سی‌شارپ - قسمت بیستم و چهارم

زنگ سی شارپ – قسمت بیست و پنجم

زنگ سی شارپ – قسمت بیست و چهارم

مسعود درویشیان ۲۹ دیدگاه سی شارپ شنبه, ۷ام بهمن , ۱۳۹۱ 22756 بازدید

کنترل دسترسی به اعضای کلاس

Encapsulation در سی‌شارپ بدین معناست که اطلاعات یک کلاس در برابر دسترسی‌های غیرمجاز و خراب‌کاری محفوظ نگه داشته شود. کلاس که امکان encapsulation را به شما می‌دهد، دو مزیت عمده دیگر نیز به همراه دارد. اول اینکه داده‌ها را به کدهای درون کلاس متصل می‌کند. دوم اینکه دسترسی به اعضای کلاس را کنترل می‌کند. تا اینجا شما با دو نوع از اعضای کلاس آشنا شده‌اید که یکی public بود و دیگری private.

زنگ سی‌شارپ - قسمت بیستم و چهارم

عضوی که public است می‌تواند آزادانه در خارج از کلاس خودش نیز قابل دسترسی باشد. اعضای private فقط درون همان کلاس قابل دسترسی هستند و البته از طریق یک متد public می‌توانند قابل دسترسی و کنترل باشند.

زنگ سی شارپ – قسمت بیست و چهارم

زنگ سی شارپ – قسمت بیست و سوم

مسعود درویشیان ۸ دیدگاه سی شارپ جمعه, ۲۲ام دی , ۱۳۹۱ 12162 بازدید

در قسمت قبل با برخی از کاربردهای سی‌شارپ آشنا شدید و بعضی از مطالب که بیان شده بودند نیز مرور شدند. در این قسمت نیز به حل تمرین شماره ۱۳ و تمرین برخی موارد دیگر می‌پردازیم.

زنگ سی‌شارپ - قسمت بیستم و دوم

حل تمرین شماره ۱۳: به‌نظر نمی‌رسد برای انجام این تمرین در چالش بزرگی قرار گرفته باشید. تنها کاری که  در حل این تمرین انجام دادیم “تقسیم کار” بود.

زنگ سی شارپ – قسمت بیست و سوم

زنگ سی شارپ – قسمت بیست و دوم

مسعود درویشیان ۳۶ دیدگاه سی شارپ جمعه, ۱۵ام دی , ۱۳۹۱ 21662 بازدید

تا این قسمت از مقالات با دستورات و خصوصیات بسیاری از سی‌شارپ آشنا شده‌اید که به کمک آن‌ها می‌توانید کارهای زیادی انجام دهید. مطالبی که تا این‌جا ارائه شده‌اند همه‌گی از اهمیت بسیار بالایی برخوردار هستند و امید است که خوانندگان عزیز بدون مشکل تا این‌جا پیش آمده باشند. همانطور که پیش از نیز ذکر شد، لطفاً در صورت نامفهوم بودن هر مطلب و هر تمرین، حتماً مشکل خود را مطرح کنید تا در اسرع وقت به شما پاسخ داده شود. سوالات، نظرات و پیشنهادات شما موجب بالا رفتن کیفیت مطالب و همچنین درک بهتر مطلب، هم برای شما و هم دیگر خوانندگان می‌شود.

زنگ سی‌شارپ - قسمت بیستم و دوم

زنگ سی شارپ – قسمت بیست و دوم

زنگ سی شارپ – قسمت بیست و یکم

مسعود درویشیان ۲۳ دیدگاه سی شارپ پنج شنبه, ۷ام دی , ۱۳۹۱ 20368 بازدید

در قسمت قبل به معرفی برنامه‌نویسی شی‌گرا، class ها، object ها و method ها پرداختیم. در این قسمت به ادامه‌ی مباحث قسمت قبل می‌پردازیم و همچنین با constructor و کلمات‌کلیدی this و static آشنا می‌شویم.

زنگ سی‌شارپ - قسمت بیستم و یکم

Constructor و چگونگی استفاده از آن

زنگ سی شارپ – قسمت بیست و یکم

زنگ سی شارپ – قسمت بیستم

مسعود درویشیان ۳۲ دیدگاه سی شارپ شنبه, ۲ام دی , ۱۳۹۱ 22400 بازدید

در قسمت نوزدهم با آرایه‌های چند بعدی آشنا شدیم. در این قسمت سعی داریم با مفاهیم برنامه‌نویسی شی‌گرا (OOP) آشنا شویم.

زنگ سی‌شارپ - قسمت بیستم

برنامه‌های کامپیوتری روز به روز در حال پیچیده‌تر شدن هستند. برنامه‌ی ساده‌ی Hello World شما دیگر به سادگی قبل نیست و امروزه خط کد برنامه‌های‌تان آنقدر زیاد و پیچیده شده‌اند که خودتان هم در آن سردرگم می‌مانید. می‌خواهید قسمت‌هایی از کدتان را مجدداً مورد استفاده قرار دهید و به کدهای قدیمی‌تان ویژگی‌های جدیدی را (بدون دست‌کاری کدهای دیگر) اضافه کنید. می‌خواهید از زیاده‌نویسی بپرهیزید. دوست دارید برنامه‌های‌تان خیلی بیشتر از قبل قابل درک باشند و به دنیای واقعی نزدیک‌تر شوند. برنامه‌نویسی شی‌گرا آمده است تا مشکل شما را حل و کار شما را راحت کند طوری‌که واقعاً از برنامه‌نویسی لذت ببرید.

زنگ سی شارپ – قسمت بیستم

زنگ سی شارپ – قسمت نوزدهم

مسعود درویشیان ۳۶ دیدگاه سی شارپ جمعه, ۲۴ام آذر , ۱۳۹۱ 29987 بازدید

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

زنگ سی‌شارپ - قسمت نوزدهم

زنگ سی شارپ – قسمت نوزدهم



کلیه حقوق مادی و معنوی برای وب سایت وب تارگت محفوظ است ©2017 وب‌تارگت

استفاده از مطالب وب سایت در سایر وب سایت‌ها و نشریات چاپی با ذکر منبع آزاد است.