#C چیست؟

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

زبان #C نسخه کامل شده زبانهای C و ++C است که در آن سعی شده از ویژه گیهای خوب زبانهای دیگر الهام گرفته شود و در عین حال کاستی های آن زبانها برطرف شود.

ایجاد یک برنامه در #C بسیار راحتتر از ایجاد برنامه در محیط ++C است ولی با همه این سادگی #C زبان قدرتمندی است بطوری که تمام کارهایی که در ++C میتوان انجام داد در #C نیز میتوان انجام داد.

بعضی مواقع کدهای #C طولانی تر از کدهای ++C است علت این است که #C برخلاف ++C یک زبان Type-Safe است یعنی در #C زمانی که نوع داده ای یک متغیر مشخص شد آن متغیر دیگر نمیتواند به نوع داده ای دیگری تبدیل شود علاوه بر این محدودیتهای دیگری نیز هنگام تبدیل یک نوع داده ای به نوع دیگر وجود دارد که باعث میشود کدهای #C نسبت به کدهای ++C طولانی تر بنظر برسد ولی با این حال کدهای #C از پایداری بیشتری برخوردارند و خطایابی آن آسانتر است.

#C از چارچوب NET. استفاد ه میکند بنابراین هرنوع برنامه ای را میتوان با آن نوشت ولی اکثر برنامه هایی که با  نوشته میشوند جزء یکی از موارد زیر هستند

برنامه های مبتنی بر ویندوز
این نوخ برنامه ها مانند office دارای ظاهر آشنای ویندوزی هستند این نوع برنامه ها بوسیله فضای نام مربوط به برنامه های ویندوزی در چارچوب NET. نوشته میشود ای فضای نام شامل کنترلهایی از قبیل دگمه های فرمان و نظیر آن است که بوسیله آنها میتوان رابط گرافیکی برنامه را طراحی کرد.
برنامه های مبتنی بر وب
این برنامه ها شامل یک یا چند صفحه وب است چاچوب وب دارای یک سیستم قوی برای ایجاد صفحات وب و تامین امنیت آنهاست این سیستم ASP.NET نام دارد و شما میتوانید با استفاده از #C و ASP.NET برنامه های مبتنی بر وب ایجاد کنید
سرویس های وب
وب سویس ها یک روش جدید و جالب برای ایجاد برنامه های توزیع شدنی مبتنی یر وب هستند با استفاده از وب سرویس ها میتوان هرنوع اطلاعاتی را بین برنامه های مختلف از طریق اینترنت منتقل کرد

در هریک از موارد بالا درصورت نیاز به ارتباط با بانک اطلاعاتی از سیستمی به نام ADO.NET در NET. استفاده میشود

متغیرها

متغیر مکانی است که میتوانید مقداری را در آن ذخیره کرده و هرجا که نیاز داشتید از آن استفاده کنید

کار با متغیرها
در #C هنگام تعریف متغیر باید نوع آن را مشخص کرد به مثال زیر توجه کنید

;int intNumber   

در مثال بالا یک متغیر با نام intNumber از نوع integer تعریف کردیم int در #C یک کلمه کلیدی است که مشخص کننده نوع integer یا همان عدد صحیح است

نکته: در #C هر دستوری به ; ختم میشود

میتوانیم مقدار متغیر را هنگام تعریف متغیر مشخص کنیم

;int intNumber = 27     

دستور زیر یک واحد به مقدار متغیر intNumbet اضافه میکند

; intNumber = intNumber + 1   

توضیحات
هنگامی که برنامه ای را مینویسید باید بدانید که ممکن است در آینده خود شما یا کس دیگری نیاز داشته باشد که کد برنامه را ویرایش کند لذا بهتر است از توضیحات در کد خود استفاده کنید
توضیحات بخشی از برنامه هستند که توسط کامپایلر نادیده گرفته میشود و شما میتوانید در این قسمت هر چیزی و به هر زبانی بنویسید برای نوشتن توضیحات از دو اسلش استفاده میشود

   Define a variable for intNumber //
;   int intNumber
  Set the initial value //
;  intNumber = 27
   Add 1 to the value of intNumber //
;  intNumber = intNumber + 1

استفاده از این مطالب با ذکر منبع بلامانع است

کار با رشته ها

رشته مجموعه ای از کارکترهاست که با علامت نقل قول در ابتدا و انتهای آن مشخص می شود برای تعریف متغیری که بتواند رشته را در خود نگه دارد از کلمه کلیدی string در #C استفاده می شود

;string strData
;"strData = "Hello world

اتصال رشته ها با + انجام می شود

 Declare variables //
; string strOne
; string strTwo
; string strResults
Set the string values //
;" strOne = "Hello
;"strTwo = "World
Concatenate the strings //
; strResults = strOne + strTwo
Display the results //
;(" MessageBox.Show(strResults, "Strings

تابع MessageBox با متد  Show باعث میشود رشته strResults در یک پنجره پیغام نمایش داده شود

تابع Length طول رشته را بدست میدهد:

;string strData
;int n
;"strData = "Hello world;n=strData.Length

در کد بالا مقدار n برابر تعداد حروف رشته Hello world خواهد شد توجه کنید فاصله خالی بین دوکلمه نیز حساب میشود.

انتخاب زیررشته با تابع Substring

;string strData
; string strData2
;"strData = "Hello world
;(strData2 =strData.Substring(0, 5

کد بالا باعپ میشود کلمه Hello در متغیر strData2 ذخیره شود 0 مکان شروع انتخاب و 5 طول زیررشته انتخابی را مشخص میکند.

جایگزینی زیررشته با تابع Replace

; string strData
; string strData2
;"strData = "Hello world
;("strData2 =strDataReplace("Hello", "Goodbye

کد بالا سبب میشود در متغیر strData کلمه Goodbye با کلمه Hello جایگزین شود و نتیجه که
Goodbye world است در متغیر strData2 ذخیره شود.

استفاده از این مطالب با ذکر منبع بلامانع است

کار با اعداد

اعداد صحیح

عدد صحیح در #C با کلمه کلیدی int تعریف میشود

;int intNumber
دستور زیر مقدار فعلی متغیر intNumber را با 7 جمع می کند
;intNumber = intNumber + 7
دستور زیر همان کار بالا را انجام می دهد
;intNumber += 7
مزیت این نوع کدنویسی کوتاه شدن کدها و تندنویسی است نمونه های زیر را ببینید
;intNumber -= 2
;intNumber *= 10
;intNumber /= 6
محدودیت کار با اعداد صحیح:
شما نمیتوانید عددی داشته باشید که دارای قسمت اعشاری باشد
;int intNumber = 34
;intNumber *= 10.234
کد بالا خطا خواهد داد چرا که intNumber یک متغیر از نوع صحیح است و نمی تواند مقدار اعشاری ذخیره کند
در تقسیم دوعدد نیز اگر بخواهیم یک عدد صحیح را بر یک عدد اعشاری تقسیم کنیم خطایی رخ خواهد داد به کد زیر توجه کنید
; int intNumber = 12
; intNumber /= 7
در این کد خطایی تولید نمیشود چراکه دو عدد صحیح یعنی 12 را بر 7 تقسیم کردیم ولی فقط قسمت صحیح حاصل تقسیم در متغیر intNumber ذخیره میشود و قسمت اعشار حذف میشود

اعداد اعشاری
اعداد اعشاری در #C با کلمه کلیدی double و float تعریف میشوند
;double dblNumber
تمام عملیاتی که درباره اعداد صحیح گفته شد درمورد اعداد اعشاری نیز درست است
; dblNumber = 45.34
; dblNumber *= 4.333
; dblNumber = 12
; dblNumber /= 7
در #C دو نوع عدد اعشاری وجود دارد
1-اعداد اعشاری با دقت معمولی
2-اعداد اعشاری با دقت مضاعف
اعداد اعشاری با دقت معمولی با کلمه کلیدی float تعریف میشوند و میتوانند اعداد در بازه
[-1.7*308^10,+1.7*308^10]را ذخیره کنند
اعداد اعشاری با دقت مضاعف با کلمه کلیدی double تعریف میشوند و میتوانند اعداد در بازه
[-3.4*38^10,+3.4*38^10]را ذخیره کنند

استفاده از این مطالب با ذکر منبع بلامانع است