سی شارپ نسخه ی تکمیل شده زبان C و ++C است. در این مقاله می خواهیم در مورد اینکه #C چیست صحبت کنیم و به شما بگوییم کاربرد زبان برنامه نویسی سی شارپ چیست و چه ویژگی هایی دارد؟
سی شارپ (#C) چیست؟
c# به زبان ساده یکی از بهترین زبان های برنامه نویسی است که بر پایه ساختار زبان C و برای برنامه نویسی در محیط .Net طراحی شده است. یک وب سایت ASP.Net معمولا از کدی که بوسیله زبان Vb.Net یا #C ( بخوانید سی شارپ) نوشته شده تشکیل یافته است.
وقتی که یک وب سایت را با زبان Vb.Net یا #C می سازید، در واقع برنامه Asp.Net ای مبتنی بر آن زبان ایجاد می کنید. این مساله تفاوت اصلی میان کاربرد Asp.Net با صفحات Asp قدیمی ( کلاسیک) است، زیرا در Asp.Net شما از یک زبان برنامه نویسی واقعی , مانند Vb.Net یا #C با تمام امکانات آن استفاده می کنید در حالی که در صفحات Asp تنها می توانید از یک زبان خیلی خلاصه شده مانند VB Script استفاده نمایید.
حال که با مفهوم #C آشنا شدید در ادامه ی مقاله از گروه تولید محتوای ایران هاست ( ارائه دهندهی خدمات ثبت دامنه ir و سایر دامنه های بین المللی ) به بررسی کاربرد سی شارپ می پردازیم.
مزیت و کاربرد زبان #C
حداکثر تعداد کلمات کلیدی در #C کمتر از ۹۰ می باشد. از جمله کاربرد زبان برنامه نویسی #C را می توان گفت این زبان ساده و یادگیری آن آسان است و به زبانهایی مانند C ,C++ ,java نزدیک است. توسعه دهندگانی که یکی از این زبانها را بدانند، می توانند در مدت زمان کوتاهی به طور موثر از آن استفاده کنند. سینتکس #C برخی پیچیدگی های ++C را ندارد و قابلیت هایی مانند nullable value types, enumerations, delegates, anonymous methods and direct memory access را فراهم کرده، همچنین از امکانات iterators و generic methods and types نیز پشتیبانی می نماید.
یکی از کاربرد زبان سی شارپ را می توان بدین صورت گفت که این زبان علاوه بر داشتن اشیا Object Oreinted دارای عناصری توسعه یافته برای ارتباط با نرم افزارهای ویندوزی می باشد.
اگر نیاز به محاوره با اشیایی مانند COM یا Win32 Dll داشته باشید، می توانید این کار از طریق فرآیندی که Interop نامیده می شود انجام دهید. این فرآیند برنامه های #C را قادر می سازد تا درست مانند برنامه های C++ عمل نمایند. زبان #C همچنین از اشاره گرها و مفهوم code Unsafe که برای دسترسی مستقیم به حافظه در مواقع بحرانی است نیز پشتیبانی می کند.
از جمله مزیت و کاربرد زبان #C را می توان گفت فرآیند ایجاد و کامپایل برنامه های سیشارپ در مقایسه با C ,C++ ساده تر و انعطاف پذیر تر از Java می باشد.
هر تعداد کلاس ، رکورد ، اینترفیس و رویداد را که نیاز داشته باشید می توانید در #C تعریف کنید.
برنامه های #C بر روی .NET Framework اجرا می شوند. کدهای نوشته شده به این زبان به یک زبان میانی یا IL تبدیل شده و سپس با پسوند .exe یا .dll در یک فایل اجرایی که اسمبلی نامیده می شود ذخیره می شوند.
به شما پیشنهاد می شود برای کسب اطلاعات در زمینه .net چیست مقاله ما را مطالعه نمایید.
زبان برنامه نویسی c# از مفاهیمی مانند encapsulation, inheritance and polymorphism نیز پشتیبانی می کند. همه ی متغیرها و متدها توسط کلاس ها Encapsulation می شوند. یک کلاس می تواند از سطح بالاتر خود ارث بری داشته باشد.
زمانی که یک برنامه #C اجرا می شود، اسمبلی در CLR لود می شود و بسته به اطلاعات موجود در manifest عملیات مختلفی را انجام می دهد.اگر از مرحله ی فیلتر امنیتی عبور داده شود ، CLR از JIT استفاده کرده تا کد IL را به زبان اصلی ماشین تبدیل کند.
CLR همچنین سرویس های دیگری که با automatic garbage collection و exception handling و resource management مرتبط هستند را ارائه می دهد. CLR در بعضی مواقع به کدهای Manage شده نیز معروف می باشد که در نهایت به زبان ماشین تبدیل می شود.
ویژگی های سی شارپ
Indexers در زبان #c
ایندکسرها نوعی از اولویت بندی (priority ) هستند که به شما اجازه می دهند با اشیا کلاس خود مانند ارایه رفتار کنید.
Auto intellosense در web.config
در visual studio 2008 فایل های Configuration به صورت Intellisense استفاده می شوند. یعنی وقتی کلمه ای را تایپ می کنید ادامه آن را به صورت اتوماتیک نمایش دهد.
کلاس TimeZoneinfo
این کلاس مختص دات نت ۳.۵ به بعد بوده و جهت استفاده از آن باید System.Core را به References پروژه ی خود بیافزایید.
۱ ) CLR
مخفف : Common Language RunTime و به معنای محیط زمان اجرای برنامه های دات نت است.
۲) CTS
مخفف : Common Type System
معنا : نوع هایی که در همه زبان های دات نت شناخته شده هستند و معمولا یک نام مستعار در هر زبان مجزا دارند.
مثلا System.Int32 در زبان C# همان int و در زبان VB همان Integer است.
نکته:
۳) IL
مخفف : Intermediate Language
معنا : زبان واسطی که در مرحله اول کامپایل برنامه ها، تمامی کد های نوشته شده با زبان های دات نت (اعم از سی شارپ، وی بی و ..) به این زبان ترجمه می شوند و جهت سازگاری بین زبان های مختلف در دات نت استفاده می شود.
۵) VES
مخفف : Virtual Executation Systeme و معادل CLR می باشد.
نکته: CLR متداول تر است.
۶) CLI
مخفف Common Language Interface است . به مجموع CLR و CTS ، CLI می گویند.
شاید تا به حال تکنولوژی CGI را شنیده باشید، اگر علاقمند به دانستن در مورد این موضوع هستید مقاله ی CGI چیست را مطالعه کنید.
کاربرد wpf در سی شارپ
wpf که مخفف Windows Presentation Fundastion می باشد تکنولوژی ای است که در net.framwork عرضه شده و بر روی win vista,win sever20008,win xp service packe 2 جواب می دهد. مهمترین مساله ای که برنامه نویسان #C تحت App با آن سر و کار دارند. طراحی واسط های کاربری در مدل های برنامه نویسی است قبل از wpf همیشه بخش کد و منطق برنامه درگیر بوده و این باعث معضل در تیم های برنامه نویسی شده است به این دلیل که همیشه طراح با کدنویس درگیر است . اما با ظهور WPF این مشکل مرتفع شده است. به شما پیشنهاد می شود برای کسب اطلاعات در حوزه wpf چیست مقاله ما را مطالعه نمایید.
یکی از کاربرد های XAML در هنگام برنامه نویسی WPF می باشد که امکانات بسیاری را فراهم می کند.هر سند XAML در WPF می تواند نگهدارنده آبجکت های WPF باشد
این آبجکت ها میتوانند در بالاترین سطح، پنجره ها باشند و یا تنها یک آبجکت خط و یا یک مستطیل طراحی شده توسط شما باشد.
wpf و SilverLight
نسخه ای دیگر از WPF وجود دارد به نام WPF/E که به نام SilverLight نیز معروف است .در واقع توسط WPF/E یا همان SilverLight می توان بسیاری از کارهایی را که با WPF قابل انجام است ( مانند اشکال دو بعدی، صدا، تصویر، انیمیشن و … ) در برنامه های تحت وب به کار برد.
Serialize
فرآیندی برای تبدیل یک آبجکت و یا گرافی متشکل از چند آبجکت به یک حالت خطی (و جریان وار) از بایت ها برای انتقال و یا ذخیره سازی در محلی دیگر است.
انواع فرمت ها در سریالیزشین چیست ؟
- Binary : بصورت باینری سریالایز میکند. (فشرده ترین و کاراترین حالت است)
- SOAP: بصورت soap سریالایز میکند. (برای ارسال در شبکه و جایی که از تحت دات نت بودن کلاینتها مطمئن نیستیم)
- XML : بصورت xml سریالایز میکند. (برای ارسال تحت شبکه – مزیت : خوانایی)
برخی از موارد کاربرد سریالزیشین در سی شارپ
- کپی یک انشعاب از آبجکتها
- انتقال اطلاعات در شبکه
- نگهداری state ها و snapshot های مختلف در یک برنامه (برای موارد حساس : مثل تراکنشهای بانکی و …)
Deserialize :
عمل برعکس سریالیزشین است؛ یعنی دوباره ساختن آبجکت از روی جریانی از بایتها .
کار کردن با کلاس EventLog :
از این کلاس معمولا جهت لاگ کردن عملیات یک برنامه استفاده می شود.
نحوه ی ساختن Connection String به روشی بسیار ساده
برای ایجاد Connection String بدون استفاده از visual studio به روش زیر عمل می شود :
- یک فایل جدید ایجاد کرده و پسوند آن را udl قرار می دهیم . با تغییر پسوند آیکن آن نیز تغییر می یابد.
- با کلیک بر روی آن پنجره مشخصات Data Link باز می شود.
- حال کافی است به تب Provider رفته و گزینه ی Microsoft OLE DB Provider For SQL Server را انتخاب کنید.
- با کلیک بر روی دکمه Next وارد تب Connection شوید تا تمام مشخصه های ارتباطی را مشاهده نمایید.
- بعد از تعریف سایر پارامترها دکمه ی Test connection را کلیک نمایید .
- حال فایل ایجاد شده را با notepad باز کنید.
- Connection String درون فایل ایجاد می شود اگر از User و password برای اتصال به دیتابیس استفاده می کنید تیک گزینه ی Allow Saving Password را بزنید تا پسورد در فایل ذخیره شود.
Using Namespace
زمانی که به دنبال استفاده از کلاسی هستید کافی است بعد از نام آن Alt+Shift+F10 را زده و سپس Enter کرده تا Using اضافه شود.
ساخت یک connection توسط Connectionstring موجود در فایل Configuration
برای خواندن ConnectionString ی که در فایل app.config قرار دارد و ساخت یک Sqlconnection کافی است کد زیر را تایپ کنید :
SqlConnection cnn = new SqlConnection(ConfigurationManager.ConnectionStrin gs["myConnection"].ConnectionString);
بدست آوردن میزان فضای خالی یک درایو
ابتدا System.Management را به References پروژه اضافه نمایید و سپس دستور زیر را بنویسید
۱-Using System.Management public double GetHDDFreeSpace(string drive) //check to see if the user provided a drive letter//if not default it to "C"if (drive == "" || drive == null){drive =}
امیدواریم با خواندن مقاله با مفهوم زبان سی شارپ و کاربرد #C آشنا شده باشید حال به شما پیشنهاد می کنیم مقاله ما با موضوع “vb.net چیست” را مطالعه نمایید.