سی شارپ چیست؟

سی شارپ (#C) یک زبان برنامه نویسی شیء گرا است که توسط شرکت مایکروسافت ساخته شده و ترکیبی از قابلیتهای خوب ++C و JAVA است. اگر با این دو زبان آشنایی دارید این شانس را دارید زبان سی شارپ را راحت یاد بگیرید. این زبان به قدری راحت است که هم کسانی که قبلا برنامه نویسی نکرده اند و هم دانش آموزان می توانند راحت آن را یاد بگیرند. از سی شارپ می توان برای ساخت برنامه های تحت ویندوز، تحت وب، وب سرویس ها، برنامه های موبایل و بازی ها استفاده کرد. می توان به جای واژه ویژوال سی شارپ از کلمه سی شارپ استفاده کرد، اما ویژوال سی شارپ به معنای استفاده همزمان از سی شارپ و محیط گرافیکی ویژوال استودیو می باشد. این زبان برنامه نویسی تنها زبانی است که مخصوصا برای دات نت فریم ورک طراحی شده است.
سی شارپ از کتابخانه کلاس دات نت که شامل مجموعه بزرگی از اجزاء از قبل ساخته شده است، استفاده می کند. این اجزا به ساخت هر چه سریعتر برنامه ها کمک می کنند. سی شارپ یک برنامه بسیار قدرتمند و شیء گرا است و با آن می توان برنامه هایی با قابلیت مدیریت بیشتر و درک آسان ایجاد کرد. ساختار این زبان نسبت به زبان های دیگر بسیار آسان و قابل فهم است. برای اجرای یک برنامه سی شارپ ابتدا باید دات نت فریم ورک نصب شود. سی شارپ یکی از زبان هایی است که از تکنولوژی های دیگر دات نت مانند ASP.NET ،Silverlight و XNA پشتیبانی می کند. همچنین یک محیط توسعه یکپارچه دارد که آن نیز به نوبه خود دارای ابزارهای مفیدی است که به شما در کدنویسی در سی شارپ کمک می کند.
با ظهور C# 6.0 قابلیت های جدیدی به این زبان اضافه شد که به شما امکان می دهند که برنامه هایی بهینه تر و پربار تر با کدنویسی کمتر بنویسید. حال که اسم نسخه 6 سی شارپ به میان آمد بهتر است که با نسخه های مختلف این زبان از ابتدا تاکنون که در جدول زیر آمده است آشنا شوید :

نسخه سی شارپ نسخه Visual Studio
C# 1.0 Visual Studio .NET 2002
C# 1.1 Visual Studio .NET 2003
C# 2.0 Visual Studio 2005
C# 3.0 Visual Studio 2008
C# 4.0 Visual Studio 2010
C# 5.0 Visual Studio 2012/2013
C# 6.0 Visual Studio 2015

دلیل پیدایش این زبان بر طبق دانشنامه wikipedia بدین شرح است که :

برای آشنایی بیشتر با این زبان به لینک زیر مراجعه کنید :

سی شارپ به طور دائم توسط مایکروسافت به روز شده و ویژگیهای جدیدی به آن اضافه می شود و یکی از بهترین زبانهای برنامه نویسی دات نت است.

لطفا اگر نظر، پیشنهاد و یا انتقادی در باره مطلب بالا دارید در قسمت زیر و اگر سوالی دارید در بخش پرسش و پاسخ مطرح بفرمایید.

  1. arman.ehdaei پاسخ دادن

    سلام آقای ابراهیمی وقت شما بخیر ممنون بابت سایت خوبتون
    چندتا سوال داشتم ممنون میشماگه امکانش هست راهنماییم کنید
    من ۲۸ سالمه و عمران خوندم و چون به رشته م علاقه نداشتم
    میخام برنامه نویسی یاد بگیرم خواستم بپرسم اینکه برای شروع سی شارپ رو انتخاب کردم کار درستیه و یا اگر نه ممنون میشم یه راهنماییم بکنید که چه برنامه ای رو برای شروع یاد بگیرم بهتره و کدوم برنامه بازار کارش بهتره و اینکه من اول راهم به نظرتون با یه استعداد متوسط و روزی ۵ ساعت وقت گذاشتن حدودا چقدر طول میکشه به حدی برسم که بتونم به عنوان یه کارآموز توی یه شرکت شروع به کار بکنم؟

  2. یونس ابراهیمی پاسخ دادن

    سلام دوست عزیز و بسیار ممنون بابت لطفتون

    سی شارپ و جاوا خوبن فقط اگه حرفه ای باشین
    از بین این دو زبان یکی رو یاد بگیرین انگار اون یکی رو هم یاد گرفتین ، ((شدیدا توصیه می کنم رو یه زبان تمرکز کنید.))
    یادگیری یک زبان به خیلی عوامل بستگی داره و به روزی ۵-۶ ساعت نیست، ممکنه شما در طول این مدت ۵-۶ ساعت اصلا تمرکز نداشته باشین و در طول ۵ سال سی شارپ رو یاد بگیرن و یا نه تمرکز کنید و یکساله حرفه ای بشین. بنده خودم با روزی ۶ ساعت کار کردن دوسال زمان برد ((البته متاهل بودم و درس می خوندم و از ۲۹ سالگی شروع کردم))که یه کم یاد گرفتم و تونستم برم یه شرکت برنامه نویسی.

    در آخر هم توصیه می کنم خودتونو سر در گم نکنید و فقط یه زبان رو کار کنید، فرض کنید شما سی شارپ در مدت ۳ سال حرفه ای شدین، اون موقع یاد گیری زبانهایی مث جاوا
    و asp و … نهایتا ۵ – ۶ ماه براتون زمان میبره. یعنی اینکه می بینید کسایی می گن ده زبان رو بلدن همین کار رو کردن، تو یه زبان حرفه ای شدن و بقیه رو زود تر یاد گرفتن
    تحقیق کنید و مزایا و معایب هر زبان رو بفهمید و بعد از تصمیم ، هیچوقت هدفتونو ول ندین
    موفق و موید باشین

  3. arman.ehdaei پاسخ دادن

    خیلی ممنون از راهنماییتون اینکه گفتین شماهم از ۲۹سالگی شروع کردین منم انرژی گرفتم چون فکر کردم سنم زیاد شده و یادگیریش سخت تر شده.
    در مورد جاوا و سی شارپ تحقیق کردم و هر بار یکیشو بهم پیشنهاد کردن جسارتا میخاستم نظر شما رو هم بدونم که پیشنهاد شما به من جاواست یا سی شارپ؟ بازار کار و درآمد کدومشون بهتره؟
    بازم ممنون بخاطر سایت خوبتون و راهنماییاتون.

    • یونس ابراهیمی پاسخ دادن

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

  4. arman.ehdaei پاسخ دادن

    آقای ابراهیمی با یادگیری کامل همین مطالبی که شما گذاشتین میشه به عنوان یه کارآموز توی یه شرکت شروع بهد کار کرد یا باید مطالب بیشتری یاد گرفت و تمرینهای مختلف و متفاوتی انجام داد تا به اون حد برسیم ؟

    • یونس ابراهیمی پاسخ دادن

      نه، این آموزش ها تا سطح متوسط هستن، شما باید تمرین داشته باشین و آموزش های دیگه رو هم ببینید.

  5. mohsen پاسخ دادن

    سلام خسته نباشد دیتا گریدویودارم و یک باتون میخوام هربار روی باتون کلیک کردم به idیکی اضافه بشه

  6. mohsen پاسخ دادن

    سلام و خسته نباشید!
    توی یک فرمی ۵تا تکس باکس گذاشتم و دیتابیس رو بهش اتصال دادم کد insert هم برای دکمه تعریف کردم متن های داخل تکست باکس داخل دیتا ذخیره میشه اما زمانی که یه متن کوتاه رو از یک فایل متنی کپی میکنم و داخل تکست باکس پیس میزنم ذخیره نمیشه و ارور میده (برنامم بسته میشه) ممنون میشم راهنماییم کنید

  7. تیمور پاسخ دادن

    سلام با تشکر از مطالب مفیدتون. من رشته ام مهندسی نرم افزاره برای از پایگاه داده استاد گفته که باید پروژه رو با استفاده از سی شارپ و اس کیو ال بنویسید ولی راستش خیلی تو برنامه نویسی ضعیفم پروژه ام که تا یه ماه دیگه وقت داره لطفا کمکم کنید

  8. تیمور پاسخ دادن

    منتظر جوابتون هستم لطفا جواب بدین خیلی مهمه

    • یونس ابراهیمی پاسخ دادن

      سلام دوست عزیز، ایمیلتون رو چک بفرمایید

  9. محمد پاسخ دادن

    سلام . من اسمم محمده
    راستش تو دبیرستان با برنامه نویسی اشنا شدم . الان ۲۰سالمه و دوست دارم یه زبان برنامه نویسی یاد بگیرم . فقط واسه اینکه چیزی جدیدی بسازم .خواستم بدونم بهترین زبان کامپیوتر در آینده از نظر شما چیه . ممنون .

  10. امین پاسخ دادن

    سلام اقای ابراهیمی
    من برنامه نویس جاوااسکریپتم میخوام داده کاوی ، پردازش متن ، شبکه های عصبی و هوش مصنوعی کار کنم جاوااسکریپت که دستش از این موارد کوتاهه همچنین دوست دارم زبانی رو یاد بگیرم که سریع بتونم توش حرفه ای بشم می خواستم بدونم که شما چه زبانی رو پیش نهاد می کنید ایا #c میتونه تو این موضوع خوب باشه زبان برنامه نویسی Go چطور ؟
    اگر بشه با جاوااسکریپت هم خوب کار کنه که دیگه عالی میشه

  11. یونس ابراهیمی پاسخ دادن

    سلام دوست عزیز
    Lisp, Prolog برای هوش مصنوعی خوبن Python هم خوبه، اینکه سریع بخواین یاد بگیرین، همه چی بستگی به تلاشتون داره،
    زبان Go رو کلا آشنایی ندارم و نمی تونم نظر بدم.
    اینکه می فرمایید : “اگر بشه با جاوااسکریپت هم خوب کار کنه که دیگه عالی میشه” رو هم متوجه منظورتون نشدم

    • امین پاسخ دادن

      برای داده کاوی و پردازش متن prolog و lisp خوبن؟ #c مناسب نیست؟ کدومشون اسون تره؟ #c تو هوش مصنوعی چطوره ؟

      • وحید باقی پاسخ دادن

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

  12. پریناز پاسخ دادن

    سلام خسته نباشید ببخشید یه سوال کلی داشتم برای برنامه نویسی سیستم های تجاری مثل حقوق ودستمزدبرای یک کارخانه باید تمامی مطالب سایت رو مطالعه کنم و چه اندازه و چه موضوعات رو باید بلد بشم؟ببخشید سوالم کلی هست ولی مطالب سایت واقعا زیاد هستند وتسلط به همشون کار آسونی نیست ولی بدجور ذهنم رو مشغول کرده اگر یه راهنمایی کنید واقعا ممنون میشم ازمیان مطالب رایگان سایتتون تا مبحث عبارات لامبادا را مطالعه کردم ولی بعضی از مباحث رو واقعا نمیدونم چه اندازه لازم خواهد شدیانه درصورتیکه فکر میکنم بیشتر باید مباحث مربوط به دیتابیس رو باید تمرین کنم کلا اگر تواین زمینه یک مقدار اطلاعات بدید واقعا کمک بزرگی میکنید میخوام در آینده پروژه دراین زمینه بگیرم وآیا میتونم به تنهایی این کاررا انجام بدم؟یانیاز به گروه برنامه نویسی خواهم داشت دراین زمینه هیچ اطلاعی ندارم لطفا جوابم را بدید یک دنیا ممنون

    • یونس ابراهیمی پاسخ دادن

      سلام، ممنون
      در مورد سوالتون باید عرض کنم که تسلط به همه مباحث لازم نیست ولی اینکه بدونین سی شارپ دارای چه امکاناتی هست لازمه!!
      مثلا اگر شما ندونین که تو سی شارپ مبحثی مثل آرایه ها وجود داره ، ممکنه برین ۲۰ تا متغیر تعریف کنید در حالیکه این کار با آرایه فقط با یک خط کد انجام میشه!!!
      بسیاری از مباحث شاید در طول ده سال برنامه نویسی، یک بار هم ازشون استفاده نکنید، مثل اینترفیس ها!!!
      تشکیل گروه برنامه نویسی هم به خاطر کاهش زمان و خطاست. پروژه ای که شما میخواین انجام بدین رو من نمی دونم چقدر بزرگه ولی اگر در همین حد محاسبه حقوق و دستمزده خودتون تنهایی می تونید انجام بدین.
      در ضمن من نمی دونم آیا شما قبلا زبان دیگه ای رو کار کردین یا نه؟ ولی اگه از قبل هیچی کار نکردین یادگیری این زبان بین ۶ماه تا یک سال زمان میبره تا بتونید همچین برنامه ای رو بنویسین. البته این مدت زمان که عرض می کنم به خیلی چیزا بستگی داره (پشتکار، تمرکز، …).
      در کل شما مباحث رو یک بار بخونید ولی تا مبحثی رو یادنگرفتین، مبحث دیگه رو شروع نکنید، چون به هم پیوسته هستن. بعد از یه پروژه کوچیک شروع کنید و هر جا به مشکل برخوردین سوال کنید. اونوقته که کم کم راه میوفتین و نحوه نوشتن پروژه های بزرگتر رو یاد می گیرین.

  13. پریناز پاسخ دادن

    سلام ممنونم از پاسختون مطالب سایت خیلی خوب وکاربردیه وواقعا جای تشکر داره تنها چیزی که کم داره البته برای من نمونه پروژه هایی هست که بتونه کاربرد دستورات رو هم بصورت عملی نشون بده البته این نظر منه و شما تصمیم میگیرید بهرحال من بامطالب سایت شما پیش میرم هرجابمونم زحمتتون خواهم داد امیدوارم موفق باشید

    • یونس ابراهیمی پاسخ دادن

      سلام، خواهش می کنم، لطف دارین
      شما این مطالب رو بخونید و ما هم سعی می کنیم چند تا پروژه رو به صورت عملی واسه بعد از عید تو سایت قرار بدیم تا دوستانی مث شما بیشتر با کاربرد مفاهیم آشنا بشن
      موفق باشین

  14. پریناز پاسخ دادن

    واقعا لطف بزرگی میکنید چشم وحتما منتظر نمونه پروژه ها هستیم