C # یک زبان برنامه نویسی همجنسگرا، سطح بالا، شی گرا، ساختار یافته، رویداد، کاربردی، دستورالعمل، و زبان برنامه نویسی عمومی است که توسط مایکروسافت در سال 2000 از خانواده چارچوب معرفی شده است. C # همچنین زبان برنامه نویسی C ++ است.
زبان C # یک زبان برنامه نویسی چند الگویی و مبتنی بر .NET است. این زبان توسط مایکروسافت و بخشی از دات نت توسعه یافته است، و شامل استانداردهای ECMA و ISO می باشد. C # یکی از 44 زبان برنامه نویسی پشتیبانی شده توسط زمان اجرای زبان مشترک پایگاه داده است و توسط مایکروسافت ویژوال استودیو شناخته شده است.
C # با زبان سطح بالا توجه بسیاری از برنامه نویسان را جلب کرده است. علت این محبوبیت، سادگی، مدرن و جهانی بودن آن است. آندرس هاگلزبرگ، طراح زبان برنامه نویسی دلفی، تیم طراحی برنامه C # را رهبری کرد. این زبان مشابه C ++ بوده و به شدت تحت تاثیر زبان جاوا و دلفین قرار دارد. در ماه ژوئیه 2000، هنگامی که مایکروسافت اعلامیه عمومی را اعلام کرد، نام آن به C # تغییر یافت.
لازم به ذکر است که در سال 1999 Sun Microsystem مایکروسافت را مجاز به استفاده از زبان برنامه نویسی Java برای استفاده از آن در سیستم عامل خود کرد. جاوا عمدتا وابسته به هیچ پلتفرم یا سیستم عامل نیست، اما مایکروسافت برخی از شرایط قرارداد را اجتناب کرده و قابلیت جاوا اسکریپت را مستقل از جاوا است. San Perdunya علیه مایکروسافت بود و مایکروسافت مجبور شد تا آخرین طراحی شی گرا را با یک کامپایل جدید که مانند ++ C به نظر می رسید، بسازد.
در طول ساخت ساخت .NET، کلاسهای زبان و کامپایلرهای SMC نوشته شده است. در سال 1999، اندرس هلزبرگ گروهی را برای طراحی یک زبان جدید تشکیل داد که در آن زمان سرد و با ویژگیهای objectism نامگذاری شد. مایکروسافت قصد دارد نام زبان را به پایان COOL معرفی کند، اما این کار را به خاطر ماهیت نادرست کسب و کار انجام نداده است. در مقدمه و معرفی رسمی چارچوب Datacenter در PDC در سال 2000، زبان به کلاس C # و کلاس کلاس تغییر نام داده و در Isaacidatent به C # اجرا شد. آندرس هلزبرگ، مدیر برنامه و طراح مایکروسافت مایکروسافت که تجربه قبلی خود در طراحی Borland، Delphi، Turbo Pascal، زبان برنامه نویسی ویژوال سی + + و زبان برنامه نویسی به راحتی در C # قابل مشاهده است و همانند CLR ساده است.
برخی از تفاوت ها در C # با C و ++ C عبارتند از:
چندین کلاس واقعی در این زبان پشتیبانی نمی شود. البته، یک کلاس توانایی به ارث بردن از تعداد نامحدود رابط ها را دارد. به دلیل اهداف معماری زبان در CLI، و برای اجتناب از پیچیدگی، از چندین وراثت پشتیبانی می کند. در عوض، شما می توانید از رابط های مختلف استفاده کنید. یعنی امکان اجرای چندین واسط برای یک کلاس وجود دارد که احتمالا یک فرزند کلاس دیگر (به ارث برده شده) است.