Microsoft visual stadio .
net
Visual stadio .
net ( vs .
net ) جدیدترین ابزار برنامه سازی شرکت مایکروسافت و شکل گرفته بر اساس فناوری نوین .
net است .
فناوری .
net رویکرد جدید مایکروسافت برای تولید نرم افزار است و بر تمام برنامه ریزیهای مایکروسافت برای آینده بر مبنای آن خواهد بود .
موفقیت .
net تا به آن حد بود که شرکتهای دیگری مثل بورلند نیز به آن روی آورده اند .
از بعد دیگر می توان گفت vs .
net نگاهی جامع به عمر نرم افزار دارد .
این چرخه از زمان شکل گیری فکر ایجاد یک نرم افزار شروع و به کنار رفتن آن ختم
می شود و مهمترین مراحل آن دو مرحله تحلیل و طراحی است .
اکثر ابزارهای موجود معمولأ امکاناتی متخصص برای یک یا چند مرحله چرخه دارند .
اما vs.
net ابزارهای مورد نیاز را در طول چرخه در اختیار برنامه ساز می گذارد که باعث ساخت نرم افزارهای با کیفیت تر و ارزانتر می شود .
نحوه کار با این برنامه ها کمابیش شبیه سایر برنامه های مایکروسافت ( بخصوص office ) است .
یعنی کار برای آشنا با یک نرم افزار می تواند خیلی سریع با دیگر اعضای vs .
net آشنا شوند و به طور عملی با آن کار کنند .
نکته جالب اینکه این ابزارها در یک محیط ادغام شده اند و برای استفاده از آنها نیاز به بازکردن پنجره های متعدد نیست .
نقش ابزارهای vs.
net در چرخه عمر
1 در هنگام تحلیل و طراحی نرم افزار ، ابزار کار آمد به نام v isio 2002 به میدان می آید که عضو جدید مجموعه microsoft office است .
این نرم افزار امکانات متعددی دارد و از قابلیتهای تحلیل و طراحی آن که مبتنی بر زبان uml است استفاده می شود .
در مرحله طراحی ، مدل سازی می تواند با هر یک از زبان اصلی vs .
net ( basic , c++ , c# ) انجام شود .
پس از آن مدل ایجاد شده را می توان به برنامه تبدیل کرد .
برنامه خروجی می تواند به هر یک از سه زبان مزبور باشد و زبان انتخاب شده برای مدل سازی تأثیری در زبان برنامه تولید شده ندارد .
2 در زبان برنامه ریزی هم ابزارهای متعددی مطرح هستند .
از جمله عبارتند از :
1.
ویرایشگر بسیار قوی برای ایجاد برنامه های مختلف
2.
مترجم های متعدد
• server Explorer پیمایش و مشاهده امکانات سرویس دهنده های
شبکه.
یکی از قابلیتهای آنها دسترس آسان به امکانات پایگاه SQL sovrers است.
• crystal report برای گزارش گیری .
امکانات فراوانی را برای گزارش گیری در اختیار برنامه نویس قرار
می دهد .
نکته جالب اینکه تمام عناصر گزارش می توانند توسط برنامه کنترل شوند .
• Web B rowser ادغام شده با محیط .
یکی از مفیدترن ابزارهای زمان برنامه نویس ، فهرست وظیفه است .
فهرست وظیفه را می توان یک دفترچه یادداشت خودکار و دقیق دانست که فهرست کارهای باقیمانده را برای تکمیل برنامه نشان می دهد .
این فهرست عناوین مختلفی است که از بین آنها به فهرست خطاهای برنامه و فهرست توضیح اشاره کرد .
برای اضافه کردن موارد مورد نظر به فهرست توضیح ، می توان از دستور توضیحی “ “// to Do در کد برنامه استفاده کرد .
3 مدت زمان آزمایش به خاطر طراحی خاص vs .
net کاهش می یابد .
زیرا معمولاََ اکثر اشتباهات برنامه نویس که مربوط به منطق برنامه نباشد ،
در همان مرتبه اولی که برنامه به اجرا در می آید مشخص می شود .
یعنی عمده اشکالات یافت شده به تحلیل یا طراحی نادرست
برمی گردد .
4 نصب و نگهداری نرم افزار به دلایل زیر ساده تر است :
• مبتنی بودن بر net framework .
• وجود ابزارهای مختلف برای ساخت برنامه های نسب .
• سهولت ایجاد برنامه ها و سرویس های web و تبدیل برنامه های windows به web .
5 برای مستند سازی و ایجاد Help نیز امکانات متعددی و متفاوتی موجود است .
امکانات مورد نیاز برای نصب vs .
net برای نصب نگارش Enterprise حداقل به این تجهیزات نیاز دارید .
1.
petiume II 450 2.
win 2000/xp 3.
94 مگابایت حافظه در 2000 ، 192 مگابایت در 2000 server ، 160 مگا بایت در xp .
4.
2/5 گیگا بایت فضای دیسک سخت البته برای استفاده کامل و بهینه از vs .net ، این موارد توصیه می شود : Duron 800 Win xp / .
net 265 مگابایت حافظه 4 گیگا بایت فضای دیسک سخت نمایشگر 17 سیستم عامل مورد نیاز همان که امکانات مورد نیاز برای نصب آمده است .
بسته نرم افزاری vs .
net در خانواه win 98/me نصب نمی شود ، vs .
net تنها در win 2000/ xp / .
net قابل نصب است .
تا قبل از به بازار آمدن نگارش نهاییwin.net ، نگارش حرفه ای windows xp به عنوان بهترین سیستم عامل موجود برای نصب vs .net پیشنهاد می شود .
نکته : .
net framework روی تمامی سیستم عامل های مایکروسافت از win 98 به بعد نصب شود و آنها را برای برنامه های تولید شده توسط vs .
net آماده کند .
یعنی با در نظر گرفتن بعضی ملاحظات ، win 98/ me می تواند خروجی های vs .net را اجرا کند .
اشکالات vs .net سعی نرم افزار برای فراهم آوردن امکانات لازم برای هر کار توسط برنامه ساز .
نیاز به سیستم قوی برای نصب و اجراء ؛ دقیق نبودن دسته بندی خصوصیات و متدهای اشیاء .
اشکالات متفرقه .
بسیاری از آنها با نصب بسته ترمیم ( service pack ) برای .
net framework قابل رفع اند .
وابسته شدن به مایکروسافت و تغییر مداوم استانداردها به دست این شرکت .
کنترل بیشتر مایکروسافت به مصرف کنندگان و الزام آنان به رعایت قوانین کپی .
زبانهای شئ گرای vs .
net به نظر می رسد کامل ترین زبان برنامه سازی شئ گرای vs .
net زبان جدید c# ( c sharp ) باشد که خیلی ها آن را مترادف با vs .
net می دانند .
زبان برنامه نویسی c# ( بخوانید سی شارپ ) محصول جدیدی از مایکروسافت است .
که در حال حاظر مدرنترین زبان شناخته می شود .
این زبان اولین زبانی است که برای .
net platform طراحی شده است وبسیاری از اجزای .
net نیز به این زبان نوشته شده اند .
مایکروسافت عنوان می کند که نقشی که c / c++ برای ویندوز ایفا کرد اینبار c# برای .
net انجام خواهد داد .
این زبان توسط واحد تحقیقاتی مایکروسافت به مدیریت اندرس هلزبرگ طراحی شده است .
وی در بورلند پاسکال را به زبان قدرتمند بنام دلفی تبدیل کرده است این بار در مایکروسافت قدرت تمام زبانهای برنامه سازی را در c # جای داده است .
c# با نگاهی دقیق و همه جانبه به c++ و gava ساخته شده است .
با تسلط بر c++ ، تقریباََ میتوان کار با c# را آغاز کرد .
همچنین c# شباهت زیادی به gava دارد .
منتها اغلب قابلیتهای c++ را که در gava حذف شده بود ، به نحو بسیار بهتری احیاء کرده است .
.
net framework framework اجرای برنامه های نوشته شده با vs .
net را تضمین می کند .
به عبارت دیگر تمام ابزارهای مورد نیاز برای اجرای نرم افزارهای ایجاد شده با vs .
net در داخل framework قرار دارند که کاربر را از نصب برنامه های متفرقه بی نیاز می کند .
یعنی برای اجرای برنامه های vs .net دیگر نیازی به نصب Dll های دردسر ساز ، کنترل های Active x ، موتور ( Engine ) پایگاه های داده و ...
نخواهد بود .
ممترین بخش framework های CLR است که مانند ماشین مجازی gava ، کار تغییر برنامه های .
exe ایجاد شده توسط vs .
vnet را به عهده دارد .
علت طراحی c# چه بود ؟
زمانی که .net platform برای بهبود ساختار سیستم عامل ما و همچنین افزایش قدرت آنها در شبکه به منظور حفاظت از سیستم دستورات و نگارش زبان های برنامه نویسی باید به طور کل تغییر کند .
برای برنامه نویسان مایکروسافت دو زبان به منظور ، vc++ , vb وجود داشت .
هر دوی این زبانهای ریشه تاریخی درصنعت کامپیوتر دارند.وطیسالهایگذشته دستخوش تغییرات بسیار به منظور مطابقت سیستم عامل های ششبکه ها شدهاند .
ساختار .
net به گونه ای ایجاب می کرد که این زبانها به منظور مطابقت .
net platform تغیرات اساسی یابند .
از طرفی اعمال این تغییرات به دلیل ساختار قدیمی که زبان های مذکور داشتند ؛ مشکلاتی را برای برنامه نویسان بوجود می آورند .
به همین دلیل در مایکروسافت پیشنهاد طراحی زبان جدیدی داده شد که بتواند به طوری کامل ازساختار .
net پیروی کرده و به آسانی و سرعت با آن برنامه نوشت .
c# فرزند دو زبان VB ,VC++ است .
c# از VC++ قدرت و دستورات غنی و از VB آسانی و سرعت برنامه نویس را به ارث برده است .
قابلیت ها و ویژگیهای C# چیست ؟
دستورات و ساختار c# کاملاََ شبیه به c++ است و برخی از قسمتهای c++ که دیگر کاربردی نداشته اند ، حذف شده است ( مثل ساختار بیتی ) .
c # امکاناتی را به برنامه نویسان c++ ارائه می دهد که از نبود آن رنج می بردند .
c# کاملترین دستورات و امکانات برنامه نویس را در مقایسه با سایر زبانها داراست .
در این زبان ساختار و دستورات قدیم برنامه نویسی با دستورات و ابداعات نوین برنامه نویس جایگزین شده است .
این زبان مانند c++ به حروف بزرگ و کوچک حساس است .
در یک برنامه c # ، کل دستورات و توابع به طور کامل در دل کلاسها و اشیا قرار دارند .
c # به نوع متغیر حساس است و انواع جدید و متنوعی از داده ها را پشتیبانی می کند .
این زبان به طور کامل شئ گراست .
هر کلاس یا شئ فقط می تواند یک کلاس پدر داشته باشد .
در c#کلمات کلیدی جدیدی معرفی شده که امکان تعریف رویدادها ( event ) ، رابطها( ineter face ) و بسیاری از قابلیتهای جدیدی را که در هیچ زبان دیگری وجود نداشت ، مهیا می سازد .
برنامه نویسی در c #راحت است و با چند دستور و توصیف می توان برنامه های کاربردی مورد نیاز را به سرعت فراهم آورد .
به همین دلیل c # از جمله زبانهای RAD ( Rapid application deve lopment ) شناخته می شود .
از جمله قابلیتهای زبان c# امکان بسط و گسترش راحت و سریع برنامه هاست و به سهولت نسخه های جدیدی از یک برنامه نوشته شده به این بان تهیه کرد .
برنامه نویسان gava نیز از امکانات و ویژگیهای c# لذت خواهند برد .
سیاری از دستورات لازم جهت برنامه نویسی نظیر داده های شمارشی ( enum ) که java واقه آنها بود در c# گنجانده شده است .
به خاطر ساختار بهتر و کاملتر c# قدرت کامپایلر آن ، کد c# سریعتر از کد Java اجرا خواهد شد .
vc# .net در حال حاضر تنها کامپایلر c# است که توسط مایکروسافت تولید می شود .
یکی از امکانات مفیدی که v c # به برنامه نویسان c# ارائه می دهد امکان درج توضیحات بیشتر را که با جزئیات اجزای برنامه است .
در این مدت می توان اطلاعاتی که برای شخص در موقع ساخت تعرف شده را از کامپایلر دریافت کرده و یا در هنگام کامپایل برنامه ، خطاهایی که مثلاََ مربوط به عدم رعایت قوانین یک شئ است را به کاربر گوشزد کرد .
این دستورات باید دارای قالب تعریف شده x ml باشند .
c # تنها زبان vs .
net است که این قابلیت را دارد .
از c# می توان برای نوشتن برنامه های تحت ویندوز ، توابع کتابخانه ای ، ویندوز ، ساخت کنترل های تحت ویندوز ، برنامه نویس در محیط وب ، طراح کامل برنامه ها و ابزارهاA sp .
net در وب و همچنین برنامه یا محیط کاراتر استفاده کرد .
این زبان خود شامل توابع ویا کتابخانه خواصی نیست ، در عوض به طور کامل و مؤثر می تواند از امکانات .
net farme work استفاده کند .
c# در .
net farme work برای برنامه نویس در .net plat from قالب تعیین شده تحت عنوان .net framework شناخته می شود .
در این قالب انجام کامپایلرهای زبانهای برنامه نویسی .
net باید کدی تولد کنند که اصول و قوانین تعیین شده را برای تولید کد منسجم و مطمئن رعایت کنند .
یکی از مشکلاتی که در کد تولید شده توسط کامپایلرهای قبل وجود داشت این بود که کد تولید شده دارای هیچ قالب یکسان نبود .
net fram work کامپایلر ابتدا با استفاده از دستورات برنامه ، که c# به کدی به زبان msilترجمه می کند و سپس آن را به کد ماشین تبدیل خواهد کرد .
که msil راحت به زبان ماشین تبدیل خواهد شد و به همین دلیل امکان نصب و رفع اشکال برنامه بسیار راحت خواهد بود .
با این شرایط کامپایلر c# یک مترجم Jit ( Just in time ) است .
در سیستم کامپایل به روش Jit ، برنامه نویس میتواند هر نقطه از برنامه را بلافاصله اجرا کرده و خروجی آن را برسی کند .
در .net framework انواع داده ها تعریف شده است که امکان جای دادن تقریباََ هر نوع داده ای را دربرنامه میسر می سازد ، c# علاوه بر انواع متغیرها c++ ، متغیرها .
net framework را نیز به طور کامل پشتیبانی می کند .
داده هایی نظیر رشته ها در c# تعریف شده است که علاوه بر انعطاف فوق العاده ، برنامه نویسان c++ را از مشکل کاربرد اشاره گرهای رشته ای و ارایه های کاراکتری رها کرده است .استاندارد شدن داده ها ، این امکان را به برنامه نویسان می دهد که به راحتی بتواند ازتوابع وکدهای نوشته شده به زبانهای دیگر استفاده کنند.
کدی که کامپایلر c# تولید می کندیک کد ساز ماندهی شده وقابل مدیرت برای net framework است .
این کد به اصطلاح برنامه نویسی managed code خوانده می شود .
در کد مدیریت شده اعمال نظیر مدیریت حافظه ، ورودی و خروجی ، مدیریت سیستم ، استفاده از منابع سیستم ، ..
کاملاََ به عهده سیستم عامل است .
کد مدیریت شده این امکان را برای سیستم عامل فراهم می کند که اگر برنامه به هر دلیل متوقف شود ، سیستم عامل به راحتی بتواند آن را از حافظه خارج سازد و مانع از متوقف شدن سیستم ( h ang ) شود .
در .
net plat form برنامههای تحت عنوان Garbage-collector تعریف شد ، که کار مدیریت حافظه را انجام می دهد .
این برنامه مرتباََ حافظه را بررسی کرده در صورتی که شئ یا متغیر بلااستفاده ای در حافظه موجود باشد آن را حذف کرده و حافظه را آزاد می سازد .
c# امکان می دهد که برنامه از حداکثر قدرت کامپیوتر استفاده کرده در همین حال هیچ خطر جدی را برای کامپیوتر کاربر نداشته باشند .
به چنین کدی، کد قابل اطمینان گفته می شود .
شاید یکی از مهمترین امکانات .
net plat form این باشد که برمبنای کاراکترهای unicode بنا شده است .
در سیستم کاراکتری unicode ، هر کاراکتر بجای 8 بیت ، از 16 بیت استفاده خواهد کرد که در این صورت به جای 256 کاراکتر 65536 کاراکتر را کد گذاری می توان کرد .
پس با این حساب حروف تمام زبانهای زنده دنیا از جمله فارسی را در رشته حرفی می توان قرار داد .
بدین ترتیب برنامه نویسان فارسی دغدقه درج حروف و کلمات فارسی را در برنامه هایشان ندارند لازم به ذکر است که سیستم عامل های xp , 2000 , winnt بر این مبنا طراحی شده اند .
Visual Studio .
net زبان قدرتمند Component گرای مایکروسافت است .
c# نقش مهمی در معماری Microsoft .
net Framework بازی می کند ، بنابراین اگر با زبانهایی مثل c++ , c یا جاواکه یا از آکولاد استفاده می کنند آشنا باشید ، دستور زبان c# ( Syntax ) برای شما بسیار آشناست .
استفاده از nameespaceها در c# برنامه های کوچک و بچه های کوچک یک وجه مشترک دارند : هر دو بزرگ می شوند .
وقتی که برنامه بزرگ میشود ، دو مشکل ایجاد می کند .
اولاََ : فهم و نگهداری کد بیشتر ، از کد کمتر سخت تر است .
دوماََ کد زیاد مستلزم اسمهای بیشتر ، اسم داده بیشتر ، اسم تابع بیشتر ، اسم کلاس بیشتر می باشد .
همچنانکه تعداد اسمها افزایش می یابد .
احتمال با با شکست مواجه شدن build برنامه بیشتر می شود، زیرا ممکن است دو یا چند اسم ، مثل هم باشند ( به ویژه وقتی که از کتابخانه های تهیه شده از شرکتهای دیگر استفاده می شود ).
در گذشته برنامه نویسان مشکل name-clashing رابه وسیله نامگذاریهای پیشوندی یک شناسنده "subsystem" حل می کردند .
این روش به خاطر scalable نبودن ، راه حل خوبی نیست ؛ نامها بزرگتر می شوند و زمان طولانی تری را باید صرف نوشتن نرم افزار و تایپ آن نمایید ، و زمان بیشتری نیز صرف خواندن و مرور مجدد نامهای طولانی نامفهوم می گردد .
Namespace ها به حل این مشکل با ایجاد یک محفظه نامگذاری شده برای شناسنده های دیگر کمک می کند .
برای مثال ، با ایجاد یک کلاس به نام TexHelloGreeting ، می توانید کلاسی به نام Greeting در داخل namespace ی به نام TexHello بسازید ، مانند : Namespace TexHello { class Greeting { .: } } سپس به کلاس Greeting به صورت texhello.greeting رجوع نمایید .
اگر افراد دیگر نیز کلاسی به نام greeting بسازند و در namespace های مربوط به خود بر روی کامپیوتر شما نمایند، برنامه کاربردی شما به همان شکلی که انتظارش را دارید کار خواهد کرد .
ایجاد مستندات با استفاده از XML و توضیحات همچنان که برنامه رشد میکند ، اهمیت مستندات بههنگام که استفاده از آن ساده باشد و اطلاعات زیادی در اختیار بگذارد ، نیز بالا می رود .
قبلاََ برنامه های مستندات ضعیفی داشتند .
یک دلیل برای این امر عادت به نوشتن کد و مستندات آن در فایل های جداگانه بود .
این جدا سازی ، هماهنگی کد و مستندات را کم می کند و در ضمن مقدار زیادی دوباره کاری می شود ، زیرا ساختار مستندات باید منعکس کننده ساختار کد مربوطه باشد .
Net Framework با تعیین یک مجموعه از تگ های XML این مسأله را حل کرد که شما می توانید این تگ ها را مستقیماََ در توضیحات کد خود قرار دهید .
Net Framework همچنین یک گزینه خط فرمان ( /doc: ) ارائه می کند که مستندات کد به فرمت XML را مستقیماََ از فایلهای سورس ، استخراج می کند .
این امر ، هر دو مشکل را با هم حل می کند : هیچ جداسازی وجود ندارد و از آنجایی که کامپایلر دستورات و دستور زبان c#را می داند ، می تواند به صورت خودکار ساختار کد را در ساختار XMLکپی کند .
دستور یک دستور ( satement ) فرمانی است که کاری را انجام می دهد .
دستورات در درون متدها یافت می شوند .
دستورات در c# باید از یک مجموعه تعریف شده از قواعد ،پیروی کنند .
این قواعد در کل به دستور زبان ( Syntax)معروفند.(و مشخصات آنچه که دستورات انجام می دهند ، قواعد معنایی (semantics) نامیده می شود.) یکی از ساده ترین و در عین حال مهمترین قواعد زبانی c# این است که باید هر دستوری را با یک سمی کالن (; ) به پایان برسانید .
برای مثال دستور زیر بدون سمی کالن ( ;) کامپایل نمی شود .
console .
WriteLine ( Hello World ) ; تذکر : c# یک زبان « فرمت آزاد » است ، یعنی فضای خالی مثل کاراکتر فاصله و یا یک خط جدید فقط به عنوان یک جداکننده است و تأثیری در دستور زبان ندارد .
به عبارت دیگر ، آزادید که دستورات را به هر طریقی که می خواهید در صفحه بنویسید .
البته یک سبک برنامه نویسی ساده و سازگار خواندن و فهم برنامه را ساده تر می کند .
استفاده از شناسه ها ( Identifier ) شناسه ها ، اسمهایی هستند که برای شناسایی عناصر در برنامه ها از آنها استفاده می کنید .
در c # برای نام گذاری شناسه ها باید این قواعد نحوی را رعایت کنید : فقط می توانید از حروف (بزرگ و کوچک )و اعداد استفاده کنید .
/ یک شناسه باید با یک حرف ( ویا زیر خط ( underscore )شروع شود .
مهم: یک زبان حساس به بزرگی و کوچکی حروف است : Forty Tow , forty Tow مثل هم نیستند .
کلمات کلیدی زبان c#، 76 شناسه برای استفاده خودش رزرو کرده است .
این شناسه ها ، کلمات کلیدی نامیده می شوند و هر کدام معنی خاصی دارند .
using , namespace , classمثالهایی از کلمات کلیدی هستند .
تذکر : در پنجره code در ویژوال استودیو ، کلمات به صورت پیش فرض ، آبی هستند .
نامگذاری متغیرها مستندات Microsoft .
Net Framework چند توصیه در مورد نامگذاری متغیرها ارائه کرده است .
از زیر خط ( underscore ) استفاده نکنید .
از شناسه هایی که فقط از نظر بزرگی و کوچکی حروف با هم فرق دارند ، استفاده نکنید .
برای مثال ، در یک زمان دو متغیر به نامهای My variable و My variable ایجاد نکنید .
در یک شناسه چند کلمه ای ، کلمات دوم به بعد را با حروف بزرگ آغاز کنید .
( این قاعده با نماد c amelcase معروف است ) .
ازنماد لهستانی استفاده نکنید .
(اکثر برنامه نویسان ویژوال c++ که این کتاب را می خوانند ،احتمالاََ با نماد لهستانی آشنا هستند ).
مهم : شما باید دو توصیه اول را ضروری و اجباری تلقی کنید ، زیرا این توصیه ها به توافق c ommon lasnguage specification ( cls ) مربوط می شوند .
اگر بخواهید برنامه هایی بنویسید که بتوانند به همراه دیگر زبانها مثل ویژوال بیسیک.Net کار کنید ، باید به این توصیه ها عمل کنید .
تعریف متغیرها شما اسم و نوع متغیر را در یک دستور تعریف اعلان می کند .
برای مثال ، دستور زیر ، یک متغیر به نام a ge را تعریف می کند که مقادیر از نوع int ( عدد صحیح ) را در خود نگه می دارد .
البته ، سمی کالن ( ؛ ) هم بعد از دستور آمده است : int age : تذکر : اگر اشاره گر موس را روی یک پنجره code در visual studio .
Net قرار دهید ، یک ToolTip ( راهنما) ظاهر خواهد شد و نوع متغیر را به شما خواهد گفت .
با این قابلیت ، واقعاََ هیچ دلیلی برای استفاده از نماد لهستانی در ویژوال استودیو Net وجود ندارد .
کار با نوع داده های مقدماتی c# چند نوع داده داخلی ( built –in ) دارد که نوع داده های مقدماتی نامیده می شود .
جدول زیر معمولترین نوع ددههای مقدماتی در c# رالیست می کند .
انواع int و lng اعداد کامل و صحیح را نگه می دارند ( long نسبت به int اعداد بزرگتری را نگه می دارد ، ولی به حافظه بیشتری نیاز دارد ) .
انواع float و double اعداد اعشاری را نگه می دارند ( double مقادیری با دقت دو برابر دقت float را نگهداری می کند ) ، نوع decimal برای نگهداری مقادیر پولی تا 28 رقم معنی دار طراحی شده است ، char یک کارکتر را ( با نمایش unicode ) نگهداری می کند ، نوع string رشته ای از کاراکترها را نگه می دارد ، و نوع bool مقدار true یا false را نگهداری می نماید .وقتی یک متغیر را تعریف می کنید ، این متغیر تا زمانی که مقداری به آن داده نشود ، شامل یک مقدار تصادفی است .
این امر ، یک دلیل مهم برای اشکالات در برنامه های c و c++ بود که یک متغیر را ایجاد می کردند و قبل از اینکه به آن مقدار دهند ، از آن به عنوان منبع اطلاعات استفاده می کردند .
c# اجازه چنین کاری را نمی دهد .
شما باید قبل از استفاده از متغیر ، به آن مقدار دهی کنید ، در غیر این صورت ، برنامه با موفقیت کامپایل نمی شود .
این الزام به Definite Assignment Rule ( قانون انتساب صریح ) معروف است .
برای مثال دستور زیر ، یک خطای زمان کامپایل را ایجاد خواهد کرد ، زیرا به age مقداری داده نشده است .
تعیین مقادیر یک عملگر اینکه آیا می توانید از یک عملگر روی یک مقدار استفاده کنید یا خیر ، به نوع مقدار بستگی دارد .
برای مثال ، می توانید از عملگرهای ریاضی ، روی مقادیر از نوع desimal , double , float , long , int , char استفاده کنید .
ولی با یک استثناء ، نمی توانید از عملگرهای ریاضی روی مقادیر از نوع string یا bool استفاده کنید .
برای مثال ، دستور زیر مجاز نیست ، زیرا برای نوع string نمی توان از عملگر تفریق استفاده کرد زیرا تفریق کردن دو رشته از هم بی معنی است : // compile time error console.writline( Gillingham – Mancatenater City ) ; تنها استثناء این است که عملگر + می تواند برای الحاق ( concatenate) مقادیر رشته ای به کار می رود .
دستور زیر 431 (نه 44 ) را در کنسول می نویسد .
consloe .
writeline ( 43 + 1 ) نوشتن متد و اعمال کردن محدوده تعریف متد متد یک دنباله از دستورات است که کلاََ به یک اسم شناخته می شود .
هر متدی یک اسم بدنه دارد .
بدنه متد شامل دستوراتی است که در هنگام فراخوانی متد اجرا می شود .
اسم متد باید یک شناسه با معنی باشد که هدف متد را نشان می دهد 0برای مثال : calculate Income Tax .
به اکثر متدها می توان دادههایی داد تا بر روی آنها پردازش انجام دهند و می توانند اطلاعاتی را برگردانند که معمولاََ نتیجه پردازش است .
متدها مکانیزم بنیادی و قدرتمندی هستند .
دستور زبان (syntax)تعریف متد دستور زبان متد ویژوال c# به صورت زیر است : return Type methodName ( parameterList optional) { // method body statements go here } return Type اسم یک نوع است و تععین کننده نوع اطلاعات برگشتی توسط متد می باشد که می تواند اسم یک نوع مثل int یا string باشد اگر متدی می نویسید که مقداری برنمی گرداند ، باید به جای نوع برگشتی از کلمه کلیدی void استفاده کنید .
mothod Name اسمی است که برای فراخوانی متد به کار می رود .
اسم متدها باید از همان قواعد نامگذاری اسم متغیرها پیروی کنند .
برای مثال add values یک اسم متد مجاز است ، در حالی که add$valuesمجاز نیست ، شما باید از روش نامگذاری camel case برای اسم متدها استفاده کنید و باید این اسمها را با معنی انتخاب کنید و با یک اسم توصیفی کارتان را شروع کنید ، برای مثال disolaycustomer .
parameterLisst نوع واسم اطلاعات اختیاری است که متد می پذیرد .
شما پرامترها را بین دو پرانتز به گونه ای می نویسید که انگار در حال تعریف متغیر هستید : ابتدا نوع و بعد اسم پارامتر .
اگر متد دو یا بیش از دو پرامتر داشته باشید ، ما باید آنها را با کاما (،) از هم جدا کنیم .
دستورات method body کدهایی هستند که در موقع فراخوانی متد اجرا می شوند .
این دستورات بین یک اکولاد باز ({) در ابتدای متد و یک آکولاد بسته (}) قرار می گیرند .
مهم: برزنامه نویسان c و c++ و ویژوال بیسیک باید توجه داشته باشند که c++ متد سراسری (global)ندارد وشما باید تمام متدهای خود را در یک کلاس تعریف کنید وگرنه این متدها کامپایل نمی شوند .
مهم: برنامه نویسان ویژوال بیسیک باید توجه داشته باشند که c# برای تمایز قائل شدن بین متدی که یک مقدار برمی گرداند ( یک تابع ) و متدی که هیچ مقداری را برنمی گرداند ( رویه یا زیروال ) ، از کلمات کلیدی مختلف استفاده نمی کند و شما همیشه باید یا یک نوع برگشتی و یا voidرا برای متد تعیین کنید .
دستور زبان (syntax) فراخوانی متدها دستور زبان فراخوان متد ر c#به صورت زیر است : methodName (argumentlist optional) methodname باید دقیقاَ با اسم متد یکی باشد .
به خاطر داشته باید که c#یک بان حساس به بزرگی و کوچکی حروف است .
argumentliste لیست اطلاعات اختیاری است که متد می پذیرد .
شما باید برای هر پارامتر ، یک آرگوامن مشخص کنید و مقدار هر آرگومان باید با نوع پارامتر مربوطه سازگار باشد .
اگر متدی که فراخوانی می کنید دو یا چند پارامتر داشته باشید ، باید آرگومانها را با کاما از هم جدا کنید .
تعریف متغیرهایی از نوع bool در دنیای برنامه نویسی ( برخلاف دنیای واقعی )همه چیز یا درست است یا نادرست .
برای مثال اگر یک متغیر integerتعریفکنید ، به آن مقدار 99 بدهید و بعد بپرسید « آیا x مقدار 99 را در خود نگه می دارد !» پاسخ مسلماََ درست خواهد بود .
اینها مثالهایی از عبارتهای بولی هستند ( مقدار یک عبارت بولی یا درست است یا نادرست ) ویژوال c# یک نوع داده مقدماتی به نام bool دارد که از آن برای تعریف متغیرهایی که مقدارشان یا درست است و یا نادرست استفاده می کنید .
شما می توانید با استفاده از کلمات کلیدی true و false به این نوع متغیرها مقدار دهی کنید .
برای مثال سه دستور زیر یک متغیر boolبه نام are YouReady را تعریف می کنند ، به آن مقدار true می دهند و بعد آن را در کنسول می نویسند : bool areyouready areyouready = true ; cpnsol .
writerline (areyouready ); //writes True استفاده از عملگرهای بولی یک عملگر بول عملگری است که نتیجه ( خروجی ) آن یا درست است و یا نادرست .
c # چند عملگر بولی بسیار سودمند دارد .
ساده ترین عملگر بولی ، عملگر نفی است که با نماد !
نشان داده می شود .
عملگر !رابه یک مقدار بولی اعمال می کنند تا مقدار عکس را برگرداند .
به عبارت دیگر !
false برابر با true و !true برابر با fals است.
عملگرهای منطقی c# دو عملگر دیگر نیز دارد :عملگر عطف منطقی که با نماد && نشان داده می شود و عملگر « یا » که با نماد || نشان داده می شود .
هدف این عملگرها ، ترکیب عبارتهای بولی ،با هم به صورت عبارتهای بزرگتر است .
این این عملگرهای دوتایی ، از این نظر شبیه عملگرهای تساوی و رابطه ای هستند که نتیجه آنها یا درست است و یا نادرست .
ولی از این نظر تفاوت دارند که مقادیری که این عملگرها روی آنها عمل می کنند ، خودشان باید یا درست باشند و یا نادرست .
در هنگام استفاده از عملگرهای && و || می توان از میانبر استفاده کرد .
بعضی مواقع نتیجه این عملگرها را می توان فقط از عبارت سمت چپ آن تعیین کرد .
چند مثال در زیر آمده است :