<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>آموزش #C | حمیدرضا بابازاده</title>
	<atom:link href="https://hamidrezababazadeh.ir/tag/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-c/feed/" rel="self" type="application/rss+xml" />
	<link>https://hamidrezababazadeh.ir</link>
	<description>مشاور و مدرس دوره‌های SQL Server, SSIS, SSAS, Power BI</description>
	<lastBuildDate>Sat, 27 Apr 2019 17:47:16 +0000</lastBuildDate>
	<language>fa-IR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.5.5</generator>

<image>
	<url>https://hamidrezababazadeh.ir/wp-content/uploads/cropped-photo477114607265229875-e1477042263519-32x32.jpg</url>
	<title>آموزش #C | حمیدرضا بابازاده</title>
	<link>https://hamidrezababazadeh.ir</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>درس پنجم &#8211; متغیرهای ＃C</title>
		<link>https://hamidrezababazadeh.ir/%d8%af%d8%b1%d8%b3-%d9%be%d9%86%d8%ac%d9%85-%d9%85%d8%aa%d8%ba%db%8c%d8%b1%d9%87%d8%a7%db%8c-%ef%bc%83c/</link>
					<comments>https://hamidrezababazadeh.ir/%d8%af%d8%b1%d8%b3-%d9%be%d9%86%d8%ac%d9%85-%d9%85%d8%aa%d8%ba%db%8c%d8%b1%d9%87%d8%a7%db%8c-%ef%bc%83c/#respond</comments>
		
		<dc:creator><![CDATA[حمیدرضا بابازاده]]></dc:creator>
		<pubDate>Sat, 27 Apr 2019 08:46:03 +0000</pubDate>
				<category><![CDATA[آموزش #C]]></category>
		<category><![CDATA[مفاهیم مقدماتی سی شارپ]]></category>
		<category><![CDATA[آموزش برنامه نویسی]]></category>
		<category><![CDATA[آموزش سی شارپ]]></category>
		<category><![CDATA[برنامه نویسی]]></category>
		<category><![CDATA[سی شارپ]]></category>
		<category><![CDATA[سی شارپ #C]]></category>
		<category><![CDATA[سی شارپ، #C]]></category>
		<guid isPermaLink="false">http://hamidrezababazade.com/?p=816</guid>

					<description><![CDATA[<p>یک متغیر فقط یک نام ذخیره‌شده در حافظه است که برنامه‌ی می‌تواند آن‌ها را دست‌کاری کند. هر متغیر در#C یک نوع مشخص دارد که اندازه و طرح‌بندی حافظه متغیر، محدوده مقداری که می‌تواند در آن حافظه ذخیره کند و مجموعه عملیاتی که می‌توان به متغیر اعمال کرد را تعیین می‌کند.</p>
The post <a href="https://hamidrezababazadeh.ir/%d8%af%d8%b1%d8%b3-%d9%be%d9%86%d8%ac%d9%85-%d9%85%d8%aa%d8%ba%db%8c%d8%b1%d9%87%d8%a7%db%8c-%ef%bc%83c/">درس پنجم – متغیرهای ＃C</a> first appeared on <a href="https://hamidrezababazadeh.ir">حمیدرضا بابازاده</a>.]]></description>
										<content:encoded><![CDATA[<p>یک متغیر نام بخشی از حافظه است که برنامه‌ی می‌تواند اطلاعات آن‌ را دست‌کاری کند. هر متغیر در#C یک نوع مشخص دارد که اندازه و طرح‌بندی حافظه متغیر، محدوده مقداری که می‌تواند در آن حافظه ذخیره کند و مجموعه عملیاتی که می‌توان به متغیر اعمال کرد را تعیین می‌کند.</p>



<p>نوع مقداری پایه ارائه ‌شده در #C می‌تواند به شکل زیر طبقه‌ بندی شوند.</p>



<figure class="wp-block-image"><img fetchpriority="high" decoding="async" width="623" height="231" src="http://hamidrezababazade.com/wp-content/uploads/image-22.png" alt="" class="wp-image-817" srcset="https://hamidrezababazadeh.ir/wp-content/uploads/image-22.png 623w, https://hamidrezababazadeh.ir/wp-content/uploads/image-22-300x111.png 300w" sizes="(max-width: 623px) 100vw, 623px" /></figure>



<p>＃C همچنین اجازه تعریف متغیرهای نوع مقداری دیگر مانند enum و متغیرهای نوع ارجاعی مانند class را می دهد که در فصل های بعدی توضیح خواهیم داد.</p>



<h3 class="wp-block-heading"><strong>تعریف متغیر</strong></h3>



<p>قاعده  تعریف متغیر در #C به شرح زیر است:</p>



<figure class="wp-block-image"><img decoding="async" width="623" height="27" src="http://hamidrezababazade.com/wp-content/uploads/image-23.png" alt="" class="wp-image-818" srcset="https://hamidrezababazadeh.ir/wp-content/uploads/image-23.png 623w, https://hamidrezababazadeh.ir/wp-content/uploads/image-23-300x13.png 300w" sizes="(max-width: 623px) 100vw, 623px" /></figure>



<p>در اینجا، (data_type) باید یک نوع داده معتبر در #C مثل char, int, float, double و یا هر دیتا تایپ تعیین شده توسط کاربر باشد و (variable_list) می تواند از یک یا چند نام شناسه جدا شده توسط کاما (,) تشکیل شود.</p>



<p>چند تعریف متغیر معتبر در اینجا نشان داده شده است.</p>



<figure class="wp-block-image"><img decoding="async" width="623" height="67" src="http://hamidrezababazade.com/wp-content/uploads/image-24.png" alt="" class="wp-image-819" srcset="https://hamidrezababazadeh.ir/wp-content/uploads/image-24.png 623w, https://hamidrezababazadeh.ir/wp-content/uploads/image-24-300x32.png 300w" sizes="(max-width: 623px) 100vw, 623px" /></figure>



<p>شما می توانید مقداردهی متغیر را در زمان تعریف به این شکل انجام دهید:</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="624" height="26" src="http://hamidrezababazade.com/wp-content/uploads/image-25.png" alt="" class="wp-image-820" srcset="https://hamidrezababazadeh.ir/wp-content/uploads/image-25.png 624w, https://hamidrezababazadeh.ir/wp-content/uploads/image-25-300x13.png 300w" sizes="(max-width: 624px) 100vw, 624px" /></figure>



<h3 class="wp-block-heading"><strong>مقداردهی متغیرها</strong></h3>



<p>مقداردهی (اختصاص دادن مقدار) متغیرها با یک علامت مساوی و بعد از آن یک عبارت ثابت انجام می شود.</p>



<p>شکل عمومی مقداردهی به شرح زیر است:</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="623" height="26" src="http://hamidrezababazade.com/wp-content/uploads/image-26.png" alt="" class="wp-image-821" srcset="https://hamidrezababazadeh.ir/wp-content/uploads/image-26.png 623w, https://hamidrezababazadeh.ir/wp-content/uploads/image-26-300x13.png 300w" sizes="(max-width: 623px) 100vw, 623px" /></figure>



<p>متغیرها می توانند در زمان تعریف خود، مقداردهی شوند. مقدار دهنده شامل یک علامت مساوی و پس از آن عبارت ثابت هستند؛ مانند عکس زیر:</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="624" height="26" src="http://hamidrezababazade.com/wp-content/uploads/image-27.png" alt="" class="wp-image-822" srcset="https://hamidrezababazadeh.ir/wp-content/uploads/image-27.png 624w, https://hamidrezababazadeh.ir/wp-content/uploads/image-27-300x13.png 300w" sizes="(max-width: 624px) 100vw, 624px" /></figure>



<p>در زیر چند نمونه آمده است:</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="624" height="67" src="http://hamidrezababazade.com/wp-content/uploads/image-28.png" alt="" class="wp-image-823" srcset="https://hamidrezababazadeh.ir/wp-content/uploads/image-28.png 624w, https://hamidrezababazadeh.ir/wp-content/uploads/image-28-300x32.png 300w" sizes="(max-width: 624px) 100vw, 624px" /></figure>



<p>این یک روش برنامه‌ نویسی خوب برای مقداردهی مناسب متغیرها می باشد، در غیر این صورت بعضی مواقع برنامه ممکن است نتیجه غیر منتظره ای را ایجاد کند.</p>



<p>در مثال زیر از انواع مختلف متغیرها استفاده شده است:</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="624" height="278" src="http://hamidrezababazade.com/wp-content/uploads/image-29.png" alt="" class="wp-image-824" srcset="https://hamidrezababazadeh.ir/wp-content/uploads/image-29.png 624w, https://hamidrezababazadeh.ir/wp-content/uploads/image-29-300x134.png 300w" sizes="(max-width: 624px) 100vw, 624px" /></figure>



<p>وقتی کد بالا کامپایل و اجرا می شود، نتیجه زیر را به دست می آورد.</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="623" height="27" src="http://hamidrezababazade.com/wp-content/uploads/image-30.png" alt="" class="wp-image-825" srcset="https://hamidrezababazadeh.ir/wp-content/uploads/image-30.png 623w, https://hamidrezababazadeh.ir/wp-content/uploads/image-30-300x13.png 300w" sizes="(max-width: 623px) 100vw, 623px" /></figure>



<h3 class="wp-block-heading"><strong>پذیرش مقدار از کاربر</strong><strong></strong></h3>



<p>کلاس Console در فضای نام System، برای پذیرش ورودی از کاربر و ذخیره آن در متغیر، تابع   () Console.ReadLine را ارائه می دهد.</p>



<p>برای مثال:</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="624" height="40" src="http://hamidrezababazade.com/wp-content/uploads/image-31.png" alt="" class="wp-image-826" srcset="https://hamidrezababazadeh.ir/wp-content/uploads/image-31.png 624w, https://hamidrezababazadeh.ir/wp-content/uploads/image-31-300x19.png 300w" sizes="(max-width: 624px) 100vw, 624px" /></figure>



<p>تابع () Convert.ToInt32، اطلاعات وارد شده توسط کاربر را به دیتا تایپ int تبدیل می کند، زیرا  () Console.ReadLine اطلاعات را با فرمت رشته ای قبول می کند.</p>



<h3 class="wp-block-heading"><strong>عبارات Lvalue و Rvalue در #C</strong></h3>



<p>دو نوع عبارت در #C وجود دارد:</p>



<ul><li>Lvalue: عبارتی که یک Lvalue است می تواند در سمت چپ یا راست یک assignment ظاهر شود.</li><li>Rvalue: عبارتی
که یک Rvalue است می تواند در سمت راست یک assignment ظاهر شود، اما نمی
تواند در سمت چپ آن ظاهر شود.</li></ul>



<p>متغیرها lvalue هستند، از این رو می توانند در سمت چپ یک assignment = ظاهر شوند. لیترال عددی rvalue هستند از این رو نمی توانند در سمت چپ ظاهر شوند. در ادامه یک دستور معتبر در #C آمده است.</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="624" height="27" src="http://hamidrezababazade.com/wp-content/uploads/image-32.png" alt="" class="wp-image-827" srcset="https://hamidrezababazadeh.ir/wp-content/uploads/image-32.png 624w, https://hamidrezababazadeh.ir/wp-content/uploads/image-32-300x13.png 300w" sizes="(max-width: 624px) 100vw, 624px" /></figure>



<p>اما دستور زیر معتبر نیست و خطای compile-time را به همراه دارد.</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="623" height="23" src="http://hamidrezababazade.com/wp-content/uploads/image-33.png" alt="" class="wp-image-828" srcset="https://hamidrezababazadeh.ir/wp-content/uploads/image-33.png 623w, https://hamidrezababazadeh.ir/wp-content/uploads/image-33-300x11.png 300w" sizes="(max-width: 623px) 100vw, 623px" /></figure>The post <a href="https://hamidrezababazadeh.ir/%d8%af%d8%b1%d8%b3-%d9%be%d9%86%d8%ac%d9%85-%d9%85%d8%aa%d8%ba%db%8c%d8%b1%d9%87%d8%a7%db%8c-%ef%bc%83c/">درس پنجم – متغیرهای ＃C</a> first appeared on <a href="https://hamidrezababazadeh.ir">حمیدرضا بابازاده</a>.]]></content:encoded>
					
					<wfw:commentRss>https://hamidrezababazadeh.ir/%d8%af%d8%b1%d8%b3-%d9%be%d9%86%d8%ac%d9%85-%d9%85%d8%aa%d8%ba%db%8c%d8%b1%d9%87%d8%a7%db%8c-%ef%bc%83c/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>درس چهارم &#8211; تبدیل نوع #C و متود های تبدیل نوع #C</title>
		<link>https://hamidrezababazadeh.ir/%d8%af%d8%b1%d8%b3-%da%86%d9%87%d8%a7%d8%b1%d9%85-%d8%aa%d8%a8%d8%af%db%8c%d9%84-%d9%86%d9%88%d8%b9-c-%d9%88-%d9%85%d8%aa%d9%88%d8%af-%d9%87%d8%a7%db%8c-%d8%aa%d8%a8%d8%af%db%8c%d9%84-%d9%86%d9%88/</link>
					<comments>https://hamidrezababazadeh.ir/%d8%af%d8%b1%d8%b3-%da%86%d9%87%d8%a7%d8%b1%d9%85-%d8%aa%d8%a8%d8%af%db%8c%d9%84-%d9%86%d9%88%d8%b9-c-%d9%88-%d9%85%d8%aa%d9%88%d8%af-%d9%87%d8%a7%db%8c-%d8%aa%d8%a8%d8%af%db%8c%d9%84-%d9%86%d9%88/#respond</comments>
		
		<dc:creator><![CDATA[حمیدرضا بابازاده]]></dc:creator>
		<pubDate>Fri, 26 Apr 2019 06:16:48 +0000</pubDate>
				<category><![CDATA[آموزش #C]]></category>
		<category><![CDATA[مفاهیم مقدماتی سی شارپ]]></category>
		<category><![CDATA[Type Conversion]]></category>
		<category><![CDATA[آموزش برنامه نویسی]]></category>
		<category><![CDATA[آموزش سی شارپ]]></category>
		<category><![CDATA[برنامه نویسی]]></category>
		<category><![CDATA[سی شارپ]]></category>
		<category><![CDATA[سی شارپ #C]]></category>
		<category><![CDATA[محیط برنامه #C]]></category>
		<guid isPermaLink="false">http://hamidrezababazade.com/?p=788</guid>

					<description><![CDATA[<p>درس چهارم - تبدیل نوع #C و متود های تبدیل نوع #C</p>
The post <a href="https://hamidrezababazadeh.ir/%d8%af%d8%b1%d8%b3-%da%86%d9%87%d8%a7%d8%b1%d9%85-%d8%aa%d8%a8%d8%af%db%8c%d9%84-%d9%86%d9%88%d8%b9-c-%d9%88-%d9%85%d8%aa%d9%88%d8%af-%d9%87%d8%a7%db%8c-%d8%aa%d8%a8%d8%af%db%8c%d9%84-%d9%86%d9%88/">درس چهارم – تبدیل نوع #C و متود های تبدیل نوع #C</a> first appeared on <a href="https://hamidrezababazadeh.ir">حمیدرضا بابازاده</a>.]]></description>
										<content:encoded><![CDATA[<h3 class="wp-block-heading"><strong>تبدیل نوع #C</strong><br></h3>



<p>تبدیل نوع (Type Conversion) ، تبدیل یک نوع دیتا به نوعی دیگر است. همچنین به آن (Type Casting) نیز گفته می شود.</p>



<p>در #C، دو روش برای تبدیل نوع وجود دارد :</p>



<ul><li><strong>تبدیل نوع مطلق (Implicit type conversion) : </strong>این تبدیل ها به روش نوع مطمئن (Type-Safe) در #C انجام می شوند. برای مثال: تبدیلات از انتگرال کوچک تر به انتگرال بزرگتر و یا &nbsp;تبدیلات نشات گرفته از کلاس به کلاس های پایه ای</li><li><strong>تبدیل نوع صحیح (Explicit type conversion</strong>)<strong> : </strong>این تبدیل ها به صراحت توسط کاربر با استفاده از توابع از پیش تعیین شده انجام می شوند. تبدیل های صحیح به یک عملگر قالب (cast operator) نیاز دارند.</li></ul>



<p>مثال زیر یک تبدیل نوع صحیح را نشان می دهد.</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="624" height="237" src="http://hamidrezababazade.com/wp-content/uploads/image-18.png" alt="" class="wp-image-790" srcset="https://hamidrezababazadeh.ir/wp-content/uploads/image-18.png 624w, https://hamidrezababazadeh.ir/wp-content/uploads/image-18-300x114.png 300w" sizes="(max-width: 624px) 100vw, 624px" /></figure>



<p>وقتی کد بالا کامپایل و اجرا می شود ، نتیجه زیر را بدست می آورد.</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="623" height="25" src="http://hamidrezababazade.com/wp-content/uploads/image-19.png" alt="" class="wp-image-791" srcset="https://hamidrezababazadeh.ir/wp-content/uploads/image-19.png 623w, https://hamidrezababazadeh.ir/wp-content/uploads/image-19-300x12.png 300w" sizes="(max-width: 623px) 100vw, 623px" /></figure>



<h3 class="wp-block-heading"><strong>متود های تبدیل نوع #C</strong></h3>



<p>#C متود های تبدیل نوع درون ساختی (Built-in) زیر را ارائه می دهد.</p>



<table class="wp-block-table aligncenter"><tbody><tr><td>
  <strong>شماره</strong><strong></strong>
  </td><td>                                         <strong>متد ها و توضیحاتشان</strong>   </td></tr><tr><td>
  ۱
  </td><td>   <strong>ToBoolean</strong> <br>  در صورت امکان، یک نوع یا تایپ را به بولین تبدیل می کند.   </td></tr><tr><td>
  ۲
  </td><td>   <strong>ToByte</strong>   <br>یک تایپ را به بایت تبدیل می کند.   </td></tr><tr><td>
  ۳
  </td><td>   <strong>ToChar</strong>  <br> در صورت امکان، یک تایپ را به یک تک کاراکتر یونیکد (Unicode) تبدیل می کند.   </td></tr><tr><td>
  ۴
  </td><td>   <strong>ToDateTime</strong> <br>  یک تایپ integer یا floating point (نوع صحیح یا نوع کسری) را به ساختارهای   زمانی تاریخ تبدیل می کند.   </td></tr><tr><td>
  ۵
  </td><td>   <strong>ToDecimal</strong><br>   یک تایپ integer یا floating point را به ساختارهای &nbsp;decimalتبدیل می کند.   </td></tr><tr><td>
  ۶
  </td><td>   <strong>ToDouble</strong> <br>  یک تایپ را به دابل (Double) تبدیل می   کند.   </td></tr><tr><td>
  ۷
  </td><td>   <strong>ToInt16</strong>  <br> یک تایپ را به ۱۶-bit   integer   تبدیل می   کند.   </td></tr><tr><td>
  ۸
  </td><td>   <strong>ToInt32</strong>  <br> یک تایپ را به ۳۲-bit   integer   تبدیل می   کند.   </td></tr><tr><td>
  ۹
  </td><td>   <strong>ToInt64</strong>   <br>یک تایپ را به ۶۴-bit   integer   تبدیل می   کند.   </td></tr><tr><td>
  ۱۰
  </td><td>   <strong>ToSbyte</strong>   <br>یک تایپ را به تایپ signed byte تبدیل می کند.   </td></tr><tr><td>
  ۱۱
  </td><td>   <strong>ToSingle</strong>   <br>یک تایپ را به&nbsp; یک عدد کوچک floating point تبدیل می کند.   </td></tr><tr><td>
  ۱۲
  </td><td>   <strong>ToString</strong>  <br> یک تایپ را به نوع رشته ای (string) تبدیل می کند.   </td></tr><tr><td>
  ۱۳
  </td><td>   <strong>ToType</strong><br>   یک تایپ را به یک نوع مشخص تبدیل می کند.   </td></tr><tr><td>
  ۱۴
  </td><td>   <strong>ToUInt16</strong><br>   یک تایپ را به یک تایپ unsigned   int   تبدیل می کند.   </td></tr><tr><td>
  ۱۵
  </td><td>   <strong>ToUInt32</strong> <br>  یک تایپ را به یک نوع unsigned بلند تبدیل می کند.   </td></tr><tr><td>
  ۱۶
  </td><td>   <strong>ToUInt64</strong><br>   یک تایپ را به یک تایپ unsigned   int   &nbsp;بزرگ تبدیل می کند.   </td></tr></tbody></table>



<p>مثال زیر انواع مقداری گوناگونی را به نوع رشته ای تبدیل می کند.</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="624" height="292" src="http://hamidrezababazade.com/wp-content/uploads/image-20.png" alt="" class="wp-image-792" srcset="https://hamidrezababazadeh.ir/wp-content/uploads/image-20.png 624w, https://hamidrezababazadeh.ir/wp-content/uploads/image-20-300x140.png 300w" sizes="(max-width: 624px) 100vw, 624px" /></figure>



<p>وقتی کد بالا کامپایل و اجرا می شود ، نتیجه زیر را بدست می آورد.</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="624" height="69" src="http://hamidrezababazade.com/wp-content/uploads/image-21.png" alt="" class="wp-image-793" srcset="https://hamidrezababazadeh.ir/wp-content/uploads/image-21.png 624w, https://hamidrezababazadeh.ir/wp-content/uploads/image-21-300x33.png 300w" sizes="(max-width: 624px) 100vw, 624px" /></figure>The post <a href="https://hamidrezababazadeh.ir/%d8%af%d8%b1%d8%b3-%da%86%d9%87%d8%a7%d8%b1%d9%85-%d8%aa%d8%a8%d8%af%db%8c%d9%84-%d9%86%d9%88%d8%b9-c-%d9%88-%d9%85%d8%aa%d9%88%d8%af-%d9%87%d8%a7%db%8c-%d8%aa%d8%a8%d8%af%db%8c%d9%84-%d9%86%d9%88/">درس چهارم – تبدیل نوع #C و متود های تبدیل نوع #C</a> first appeared on <a href="https://hamidrezababazadeh.ir">حمیدرضا بابازاده</a>.]]></content:encoded>
					
					<wfw:commentRss>https://hamidrezababazadeh.ir/%d8%af%d8%b1%d8%b3-%da%86%d9%87%d8%a7%d8%b1%d9%85-%d8%aa%d8%a8%d8%af%db%8c%d9%84-%d9%86%d9%88%d8%b9-c-%d9%88-%d9%85%d8%aa%d9%88%d8%af-%d9%87%d8%a7%db%8c-%d8%aa%d8%a8%d8%af%db%8c%d9%84-%d9%86%d9%88/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>درس دوم &#8211; syntax های پایه ای # C</title>
		<link>https://hamidrezababazadeh.ir/%d8%af%d8%b1%d8%b3-%d8%af%d9%88%d9%85-syntax-%d9%87%d8%a7%db%8c-%d9%be%d8%a7%db%8c%d9%87-%d8%a7%db%8c-c/</link>
					<comments>https://hamidrezababazadeh.ir/%d8%af%d8%b1%d8%b3-%d8%af%d9%88%d9%85-syntax-%d9%87%d8%a7%db%8c-%d9%be%d8%a7%db%8c%d9%87-%d8%a7%db%8c-c/#respond</comments>
		
		<dc:creator><![CDATA[حمیدرضا بابازاده]]></dc:creator>
		<pubDate>Sat, 20 Apr 2019 06:58:28 +0000</pubDate>
				<category><![CDATA[آموزش #C]]></category>
		<category><![CDATA[مفاهیم مقدماتی سی شارپ]]></category>
		<category><![CDATA[آموزش برنامه نویسی]]></category>
		<category><![CDATA[آموزش سی شارپ]]></category>
		<category><![CDATA[برنامه نویسی]]></category>
		<category><![CDATA[سی شارپ]]></category>
		<guid isPermaLink="false">http://hamidrezababazade.com/?p=686</guid>

					<description><![CDATA[<p># C یک زبان برنامه نویسی شی گرا است. در روش برنامه نویسی شی گرا، یک برنامه شامل اجزای مختلفی است که در عمل با یکدیگر تعامل می کنند. اقدامات و عملیاتی که یک جز ممکن است انجام دهد را متد یا method می نامند. اجزای هم نوع در یک کلاس یا Class قرار میگیرند.</p>
The post <a href="https://hamidrezababazadeh.ir/%d8%af%d8%b1%d8%b3-%d8%af%d9%88%d9%85-syntax-%d9%87%d8%a7%db%8c-%d9%be%d8%a7%db%8c%d9%87-%d8%a7%db%8c-c/">درس دوم – syntax های پایه ای # C</a> first appeared on <a href="https://hamidrezababazadeh.ir">حمیدرضا بابازاده</a>.]]></description>
										<content:encoded><![CDATA[<p> # C یک زبان برنامه نویسی شی گرا است. در روش برنامه نویسی شی گرا، یک برنامه شامل اجزای مختلفی است که در عمل با یکدیگر تعامل می کنند. اقدامات و عملیاتی که یک جز ممکن است انجام دهد را متد یا method می نامند. اجزای هم نوع در یک کلاس یا Class قرار میگیرند.</p>



<p> به عنوان مثال، یک شی مستطیلی را در نظر بگیریم که ویژگی هایی مانند طول و عرض دارد.  بسته به طراحی  آن، ممکن است راه های مختلفی برای مقداردهی این ویژگی ها، محاسبه محیط و نمایش جزئیات آن وجود داشته باشد.<br> اجازه دهید یک نگاهی به class مستطیلی بیاندازیم و در مورد syntax پایه ای #C صحبت کنیم.</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="1024" height="791" src="http://hamidrezababazade.com/wp-content/uploads/l2-1-1024x791.png" alt="" class="wp-image-687" srcset="https://hamidrezababazadeh.ir/wp-content/uploads/l2-1-1024x791.png 1024w, https://hamidrezababazadeh.ir/wp-content/uploads/l2-1-300x232.png 300w, https://hamidrezababazadeh.ir/wp-content/uploads/l2-1-768x593.png 768w, https://hamidrezababazadeh.ir/wp-content/uploads/l2-1.png 1395w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>هنگامی که کد بالا کامپایل و اجرا شود، نتیجه ی زیر را دارد:</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="1024" height="86" src="http://hamidrezababazade.com/wp-content/uploads/l2-2-1024x86.png" alt="" class="wp-image-688" srcset="https://hamidrezababazadeh.ir/wp-content/uploads/l2-2-1024x86.png 1024w, https://hamidrezababazadeh.ir/wp-content/uploads/l2-2-300x25.png 300w, https://hamidrezababazadeh.ir/wp-content/uploads/l2-2-768x65.png 768w, https://hamidrezababazadeh.ir/wp-content/uploads/l2-2.png 1399w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<h2 class="wp-block-heading"><strong>کلمه کلیدی </strong><strong>Using</strong><strong></strong></h2>



<p>این اولین عبارتی که در هر برنامه #C می بینید:</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="1024" height="47" src="http://hamidrezababazade.com/wp-content/uploads/l2-3-1024x47.png" alt="" class="wp-image-689" srcset="https://hamidrezababazadeh.ir/wp-content/uploads/l2-3-1024x47.png 1024w, https://hamidrezababazadeh.ir/wp-content/uploads/l2-3-300x14.png 300w, https://hamidrezababazadeh.ir/wp-content/uploads/l2-3-768x35.png 768w, https://hamidrezababazadeh.ir/wp-content/uploads/l2-3.png 1407w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>کلمه کلیدی using  برای اضافه کردن فضای نام (namespace) در برنامه است.  یک برنامه میتواند شامل چندین using باشد.</p>



<h2 class="wp-block-heading"><strong>کلمه کلیدی کلاس یا </strong><strong>Class</strong></h2>



<p>کلمه کلیدی class برای تعریف یک class استفاده می شود.</p>



<h2 class="wp-block-heading"><strong>نظرات و Comments در #C</strong></h2>



<p> Comment برای توضیح کد استفاده می شود. کامپایلرها Comment را نادیده می گیرند Comment چند خطی در برنامه های #C با استفاده از / * شروع می شود و با کاراکترهای * / به پایان می رسند :</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="1024" height="88" src="http://hamidrezababazade.com/wp-content/uploads/l2-4-1-1024x88.png" alt="" class="wp-image-691" srcset="https://hamidrezababazadeh.ir/wp-content/uploads/l2-4-1-1024x88.png 1024w, https://hamidrezababazadeh.ir/wp-content/uploads/l2-4-1-300x26.png 300w, https://hamidrezababazadeh.ir/wp-content/uploads/l2-4-1-768x66.png 768w, https://hamidrezababazadeh.ir/wp-content/uploads/l2-4-1.png 1407w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>Comment تک خطی با نماد “//” نشان داده می شود:</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="1024" height="47" src="http://hamidrezababazade.com/wp-content/uploads/l2-5-1024x47.png" alt="" class="wp-image-692" srcset="https://hamidrezababazadeh.ir/wp-content/uploads/l2-5-1024x47.png 1024w, https://hamidrezababazadeh.ir/wp-content/uploads/l2-5-300x14.png 300w, https://hamidrezababazadeh.ir/wp-content/uploads/l2-5-768x35.png 768w, https://hamidrezababazadeh.ir/wp-content/uploads/l2-5.png 1407w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<h2 class="wp-block-heading"><strong>متغیر های عضو یا </strong><strong>member variable</strong><strong></strong></h2>



<p>متغیرها صفات یا اعضای اطلاعاتی یک کلاس هستند که برای ذخیره کردن داده ها (Data)استفاده می شوند. در برنامه قبلی، کلاس مستطیل  یا Rectangle  دارای دو member variable  به نام طول (length) و عرض (width) می باشد.</p>



<h2 class="wp-block-heading">توابع عضو یا Member Functions</h2>



<p>توابع مجموعه ای از دستوراتی هستند که یک کار خاص را انجام می دهند. توابع عضو یک کلاس در خود کلاس تعریف می شوند. برای مثال در کلاس  برنامه بالایی (کلاس مستطیل) سه تابع عضو وجود دارند: </p>



<p><em>AcceptDetails</em>, <em>GetArea,</em> <em>Display</em></p>



<h2 class="wp-block-heading"><strong>معرف </strong><strong>class</strong><strong> یا کلاس</strong><strong></strong></h2>



<p>در برنامه قبلی، کلاس ExecuteRectangle شامل متد main است و کلاس Rectangle را معرفی می کند. </p>



<h2 class="wp-block-heading"><strong>شناسه ها یا </strong><strong>identifier</strong><strong></strong></h2>



<p>یک شناسه اسمی است که برای شناسایی یک کلاس(class) ، متغیر (variable) ، تابع (function)  یا هر تعریف دیگر کاربر، استفاده می شود. قوانین اساسی برای نامگذاری شناسه ها در #C به صورت زیر است:</p>



<ul><li>یک اسم باید با یک حرف شروع شود (a-z A-Z)و با حروف، ارقام (۰-۹) و _ ادامه داشته باشد. حرف اول چون شناسه است، نمی تواند عدد باشد.</li><li>نمی تواند embedded space یا نماد هایی همچون ? &#8211; + ! @ # % ^ &amp; * [ ] { } . ; : &#8221; &#8216; /   \داشته باشد اما می توان از _استفاده کرد.</li><li>نباید  از کلمات کلیدی #C باشد. (if bool int class &#8230;)</li></ul>



<h2 class="wp-block-heading"><strong>کلمات کلیدی</strong><strong> </strong><strong>#C</strong><strong></strong></h2>



<p>کلمات کلیدی کلمات رزرو و تعریف شده در کامپایلر #C می باشند. کلمات کلیدی را نمی توان به عنوان شناسه استفاده کرد. با این حال، اگر می خواهید از کلمات کلیدی به عنوان شناسه استفاده کنید، می توانید پیشوند @ را به کلمه کلیدی اضافه کنید.</p>



<p>در #C برخی از شناسه ها  در زمینه کد معنای خاصی دارند، مانند get و set، که به آنها contextual keywords می گویند.</p>



<p>جدول زیر لیست کلمات کلیدی و contextual keywords را در #C نشان می دهد.</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="853" height="1024" src="http://hamidrezababazade.com/wp-content/uploads/l2-6-853x1024.png" alt="" class="wp-image-693" srcset="https://hamidrezababazadeh.ir/wp-content/uploads/l2-6-853x1024.png 853w, https://hamidrezababazadeh.ir/wp-content/uploads/l2-6-250x300.png 250w, https://hamidrezababazadeh.ir/wp-content/uploads/l2-6-768x922.png 768w, https://hamidrezababazadeh.ir/wp-content/uploads/l2-6.png 1234w" sizes="(max-width: 853px) 100vw, 853px" /></figure>The post <a href="https://hamidrezababazadeh.ir/%d8%af%d8%b1%d8%b3-%d8%af%d9%88%d9%85-syntax-%d9%87%d8%a7%db%8c-%d9%be%d8%a7%db%8c%d9%87-%d8%a7%db%8c-c/">درس دوم – syntax های پایه ای # C</a> first appeared on <a href="https://hamidrezababazadeh.ir">حمیدرضا بابازاده</a>.]]></content:encoded>
					
					<wfw:commentRss>https://hamidrezababazadeh.ir/%d8%af%d8%b1%d8%b3-%d8%af%d9%88%d9%85-syntax-%d9%87%d8%a7%db%8c-%d9%be%d8%a7%db%8c%d9%87-%d8%a7%db%8c-c/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>درس اول  &#8211; Hello World</title>
		<link>https://hamidrezababazadeh.ir/%d8%af%d8%b1%d8%b3-%d8%a7%d9%88%d9%84-hello-world/</link>
					<comments>https://hamidrezababazadeh.ir/%d8%af%d8%b1%d8%b3-%d8%a7%d9%88%d9%84-hello-world/#respond</comments>
		
		<dc:creator><![CDATA[حمیدرضا بابازاده]]></dc:creator>
		<pubDate>Wed, 17 Apr 2019 15:44:00 +0000</pubDate>
				<category><![CDATA[آموزش #C]]></category>
		<category><![CDATA[مفاهیم مقدماتی سی شارپ]]></category>
		<category><![CDATA[آموزش برنامه نویسی]]></category>
		<category><![CDATA[آموزش سی شارپ]]></category>
		<category><![CDATA[برنامه نویسی]]></category>
		<category><![CDATA[سی شارپ]]></category>
		<category><![CDATA[محیط برنامه #C]]></category>
		<guid isPermaLink="false">http://hamidrezababazade.com/?p=675</guid>

					<description><![CDATA[<p>قبل از مطالعه بلوک های ساختاری زبان برنامه نویسیC# ، به یکی از ساده ترین برنامه های C# نگاهی خواهیم انداخت تا بتوانیم از آن به عنوان یک مرجع در فصل های آینده استفاده کنیم.</p>
The post <a href="https://hamidrezababazadeh.ir/%d8%af%d8%b1%d8%b3-%d8%a7%d9%88%d9%84-hello-world/">درس اول  – Hello World</a> first appeared on <a href="https://hamidrezababazadeh.ir">حمیدرضا بابازاده</a>.]]></description>
										<content:encoded><![CDATA[<p>قبل از مطالعه بلوک های ساختاری زبان برنامه نویسی  #C  ، به یکی از ساده ترین برنامه های  #C نگاهی خواهیم انداخت تا بتوانیم از آن به عنوان یک مرجع در فصل های آینده استفاده کنیم.</p>



<h3 class="wp-block-heading"><strong>&nbsp;</strong><strong>ایجاد برنامه </strong><strong>Hello World</strong><strong></strong></h3>



<p> یک برنامه  #C شامل بخش های زیر است :</p>



<ul><li>اعلام فضای نام یا namespace declaration </li><li>کلاس یا class</li><li>روش کلاس بندی</li><li>ویژگی های کلاس</li><li>یک تابع اصلی MAIN method</li><li>دستورات و عبارات statements and expressions </li><li>کامنت ها و نظرات comments</li></ul>



<p>&nbsp;اجازه دهید به یک کد ساده که جمله ”Hello World“را چاپ می کند، نگاهی بیاندازیم.</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="1024" height="532" src="http://hamidrezababazade.com/wp-content/uploads/c1-1024x532.png" alt="" class="wp-image-676" srcset="https://hamidrezababazadeh.ir/wp-content/uploads/c1-1024x532.png 1024w, https://hamidrezababazadeh.ir/wp-content/uploads/c1-300x156.png 300w, https://hamidrezababazadeh.ir/wp-content/uploads/c1-768x399.png 768w, https://hamidrezababazadeh.ir/wp-content/uploads/c1.png 1814w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>وقتی این کد کامپیل و اجرا شود نتیجه به شکل
زیر خواهد بود:</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="1024" height="57" src="http://hamidrezababazade.com/wp-content/uploads/c2-1024x57.png" alt="" class="wp-image-677" srcset="https://hamidrezababazadeh.ir/wp-content/uploads/c2-1024x57.png 1024w, https://hamidrezababazadeh.ir/wp-content/uploads/c2-300x17.png 300w, https://hamidrezababazadeh.ir/wp-content/uploads/c2-768x43.png 768w, https://hamidrezababazadeh.ir/wp-content/uploads/c2.png 1817w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>اجازه دهید به بخش های مختلف برنامه داده شده نگاهی
بیاندازیم:</p>



<ul><li>خط اول برنامه &nbsp;Using System؛ &#8211; کلمه کلیدی using برای وارد کردن System namespace در برنامه است.&nbsp; یک برنامه معمولا دارای چندین using می باشد. </li></ul>



<ul><li>خط بعدی دارای اعلامیه Namespace نام است. یک namespace مجموعه ای از &nbsp;classها است. در namespace نیزHelloWorldApplication شامل کلاس &nbsp;HelloWorld است.</li></ul>



<ul><li>خط بعدی دارای یک اعلام کلاس (class) می باشد. کلاس HelloWorld شامل تعاریف داده و متد هایی که شما در برنامه استفاده می کنید، می باشد. کلاسها معمولا شامل چندین متد هستند. متد ها رفتار کلاس را تعریف می کنند. با این حال، کلاس HelloWorld تنها یک متد به نام &nbsp;main دارد.</li></ul>



<ul><li>خط بعدی
متد main
را تعیین می کند، که نقطه ورود همه برنامه های #C
است. متد main عمل کلاس را بعد
از اجرا شدن، مشخص می کند.</li></ul>



<ul><li>خط بعدی
/*&#8230;*/ توسط کامپایلر نادیده گرفته شده و برای قرار دادن نظرات و کامنت قرار داده
شده است.</li></ul>



<ul><li>متد
main
رفتار خود را با عبارت Console.WriteLine
(&#8220;Hello World&#8221;) مشخص می کند؛</li></ul>



<p>&nbsp;<em>WriteLine</em><em> </em><em>یک متد از کلاس </em><em>Console</em><em> </em><em>تعریف شده در</em><em> </em><em>namespace system </em><em>&nbsp;</em><em>است.&nbsp; این اعلامیه باعث می شود تا پیام &#8220;</em><em>Hello</em><em>،</em><em>
World</em><em>!&#8221;&nbsp;
بر روی صفحه نمایش داده شود.</em></p>



<ul><li>آخرین
خط ؛()Console.ReadKey&nbsp; برای کاربران VS.NET
است.&nbsp; این
خط باعث می شود که هنگام استفاده از ویژوال استودیو، برنامه منتظر کلیک کردن کاربر
بماند و بلافاصله بسته نشود.</li></ul>



<p>نکات
زیر را به یاد داشته باشید: </p>



<ul><li>C# حساس به حروف است case sensitive</li><li>&nbsp;تمام اظهارات و دستورات باید با یک (؛) به پایان برسد.</li><li>&nbsp;اجرای برنامه از متد main شروع می شود.</li><li></li><li>&nbsp;بر خلاف جاوا، نام فایل برنامه می تواند از نام کلاس متفاوت باشد.</li></ul>



<h3 class="wp-block-heading"><strong>کامپایل
و اجرای برنامه</strong><strong></strong></h3>



<p>اگر از Visual Studio.Net برای کامپایل کردن و اجرای برنامه های#C استفاده می کنید، مراحل زیر را انجام دهید:</p>



<ol><li>باز کردن ویژوال استودیو</li></ol>



<ul><li>در نوار منو File -&gt; New -&gt; Project
را انتخاب کنید.</li></ul>



<ul><li>#Visual C &nbsp;را از &nbsp;template انتخاب و سپس ویندوز را انتخاب کنید.</li></ul>



<ul><li>برنامه کنسول را انتخاب کنید</li></ul>



<ul><li>یک نام برای پروژه خود را تعیین کنید و
دکمه OK
را کلیک کنید.</li></ul>



<ul><li>&nbsp;این یک پروژه جدید در Solution Explorer ایجاد می کند.</li><li></li><li>&nbsp;کد را در ویرایشگر کدcode editor بنویسید.</li><li>&nbsp;روی دکمه اجرا کلیک کنید یا کلید F5 را برای اجرای پروژه فشار دهید.&nbsp; پنجره Command Prompt ظاهر می شود که حاوی خط Hello World است.</li><li>شما می توانید برنامه #C را به جای ویژوال استودیو IDE با استفاده از خط فرمان کامپایل کنید </li><li>&nbsp;یک ویرایشگر متن text editor &nbsp;را باز کنید و کد ذکر شده را اضافه کنید.</li><li>&nbsp;فایل را helloworld.cs ذخیره کنید</li><li>&nbsp;ابزار Command Prompt را باز کنید و به پوشه ای که فایل را در آن ذخیره کرده اید بروید.</li><li>&nbsp;&nbsp;csc helloworld.csرا تایپ کنید و برای کامپایل کردن کد خود enter را فشار دهید.</li><li>&nbsp;اگر خطابی در کد شما وجود نداشته باشد، Command Prompt شما را به خط بعدی می برد و فایل executable helloworld.exe را ایجاد می کند.</li><li>&nbsp;helloworld را تایپ کنید تا برنامه شما اجرا شود</li><li>&nbsp;شما می توانید خروجی Hello World را روی صفحه نمایش ببینید. </li></ul>The post <a href="https://hamidrezababazadeh.ir/%d8%af%d8%b1%d8%b3-%d8%a7%d9%88%d9%84-hello-world/">درس اول  – Hello World</a> first appeared on <a href="https://hamidrezababazadeh.ir">حمیدرضا بابازاده</a>.]]></content:encoded>
					
					<wfw:commentRss>https://hamidrezababazadeh.ir/%d8%af%d8%b1%d8%b3-%d8%a7%d9%88%d9%84-hello-world/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>محیط برنامه #C</title>
		<link>https://hamidrezababazadeh.ir/%d9%85%d8%ad%db%8c%d8%b7-%d8%a8%d8%b1%d9%86%d8%a7%d9%85%d9%87-c/</link>
					<comments>https://hamidrezababazadeh.ir/%d9%85%d8%ad%db%8c%d8%b7-%d8%a8%d8%b1%d9%86%d8%a7%d9%85%d9%87-c/#respond</comments>
		
		<dc:creator><![CDATA[حمیدرضا بابازاده]]></dc:creator>
		<pubDate>Tue, 16 Apr 2019 15:28:16 +0000</pubDate>
				<category><![CDATA[آموزش #C]]></category>
		<category><![CDATA[مفاهیم مقدماتی سی شارپ]]></category>
		<category><![CDATA[آموزش برنامه نویسی]]></category>
		<category><![CDATA[آموزش سی شارپ]]></category>
		<category><![CDATA[برنامه نویسی]]></category>
		<category><![CDATA[سی شارپ]]></category>
		<category><![CDATA[محیط برنامه #C]]></category>
		<guid isPermaLink="false">http://hamidrezababazade.com/?p=645</guid>

					<description><![CDATA[<p>در این بخش ابزار های مورد نیاز ساخت برنامه های #C را توضیح خواهیم داد. همان طور که قبلا گفتیم،<br />
#C بخشی‌ از Net framework. می باشد و از آن برای نوشتن اپلیکیشن های تحت Net. استفاده می کنند‌. به همین خاطر، قبل از توضیح دادن ابزار های موجود، باید طریقه ی ارتباط #C با Net framework. را بدانیم.</p>
The post <a href="https://hamidrezababazadeh.ir/%d9%85%d8%ad%db%8c%d8%b7-%d8%a8%d8%b1%d9%86%d8%a7%d9%85%d9%87-c/">محیط برنامه #C</a> first appeared on <a href="https://hamidrezababazadeh.ir">حمیدرضا بابازاده</a>.]]></description>
										<content:encoded><![CDATA[<p>در این بخش ابزار های مورد نیاز ساخت برنامه های #C را توضیح خواهیم داد. همان طور که قبلا گفتیم،  <br>#C بخشی‌ از Net framework. می باشد و از آن برای نوشتن اپلیکیشن های تحت Net. استفاده می کنند‌. به همین خاطر، قبل از توضیح دادن ابزار های موجود، باید طریقه ی ارتباط #C  با Net framework. را بدانیم.</p>



<h2 class="wp-block-heading"><strong>Net Framework</strong><strong>.</strong><strong></strong></h2>



<p>  Net framework. یک پلتفرم انقلابی است که به شما کمک می کند تا برنامه های زیر را بنویسید:</p>



<ul><li>برنامه های ویندوز (Windows Application)</li><li>برنامه های تحت وب (Web
Application) </li><li>خدمات وب (Web Service) </li></ul>



<p> اپلیکیشن های  Net framework. چند پلتفرمی هستند. این &nbsp;framework یا چارچوب به گونه ای طراحی شده است که بتوان از هر یک از زبان های زیر استفاده کرد:</p>



<ul><li>++C</li><li>#C </li><li>ویژوال بیسیک (visual Basic)  </li><li>JScript </li><li> COBOL &nbsp; </li><li>و &#8230;</li></ul>



<p>همه این زبان ها می
توانند به &nbsp;این چارچوب دسترسی داشته باشند
و با یکدیگر ارتباط برقرار کنند.</p>



<p> Net framework. دارای کتابخانه ی عظیمی از کدهای استفاده شده client language یا زبان های مشتری، مانند #C می باشد. </p>



<h2 class="wp-block-heading">&nbsp;برخی از اجزای .Net framework: </h2>



<ul><li>زمان اجرا زبان مشترک (CLR) (common language runtime)</li><li>کتابخانه طبقه بندی شده (The .Net framework class library)</li><li>مشخصات زبان مشترک (common language Specification)</li><li>سیستم نوع مشترک (common type system) </li><li>متاداده و آسمبلی (metadata and Assemblies)</li><li>گونه های ویندوز (Windows Forms) </li><li>ASP.Net &nbsp;‌و ASP.Net AJAX</li><li>ADO.Net</li><li>بنیاد گردش کار ویندوز (WF) (windows workflow Foundation)</li><li>بنیاد نمایش ویندوز (windows presentation foundation) </li><li>بنیاد ارتباطات ویندوز ((WCF) (windows communication Foundation)</li><li>LINQ</li><li>محیط توسعه یکپارچه برای #C یا IDE</li></ul>



<p>مایکروسافت ابزار توسعه زیر را برای برنامه نویسی &nbsp;#C فراهم کرده است:</p>



<ul><li>ویژوال استودیو ۲۰۱۰ &nbsp;(visual studio (VS</li><li>VCE) Visual C # 2010 Express)</li><li>ویژوال توسعه دهنده وب Visual web developer</li></ul>



<p>دو مورد اول را می توانید رایگان از وب سایت رسمی مایکروسافت دریافت کنید و با استفاده از این ابزارها می توانید انواع برنامه های #C، از برنامه های دستوری خطی ساده تا برنامه های پیچیده را، ایجاد کنید. همچنین می توانید فایل های کد منبع #C# code source line) C) را با استفاده از یک ویرایشگر متنی پایه ای مانند Notepad &nbsp;بنویسید و کدها را با استفاده از کامپایلر خط فرمان ( command-line compiler)، به آسمبلی کامپایل کند که آن نیز بخشی از NET framework. &nbsp;می باشد.</p>



<p>&nbsp;Visual C # Express وVisual Web Developer Express &nbsp;نسخه های کوچک
شده visual studio می
باشند، ظاهرشان یکی است وآنها بیشترین ویژگی های ویژوال استودیو را حفظ کرده اند. </p>



<p>در این آموزش، ما
از Visual C # 2010
Express &nbsp;استفاده کرده ایم.</p>



<p>&nbsp;<strong>نوشتن برنامه های #C در لینوکس (Linux) یا سیستم عامل Mac</strong></p>



<p> هرچند Net framework.  بر روی سیستم عامل ویندوز اجرا می شود، نسخه های دیگری نیز وجود دارند که در سایر سیستم عامل ها کار می کنند. مونو (Mono) یک نسخه منبع باز (open-source .Net framework) می باشد که شامل یک کامپایلر#C است و بر روی چندین سیستم عامل اجرا می شود، از جمله&nbsp; لینوکس و سیستم عامل مک.&nbsp; </p>



<p>لطفا این <a href="http://www.go-mono.com/mono-downloads/download.html">لینک</a> را ملاحظه
کنید.</p>



<p>هدف از معرفی mono نه فقط معرفی آن برای اجرای برنامه های مایکروسافت NET. از طریق کراس پلتفرم (cross platform)، بلکه همچنین معرفی ابزاری سودمند برای توسعه دهندگان لینوکس می باشد. Mono &nbsp;را می توان در بسیاری از سیستم عامل ها از جمله اندروید، BSD، IOS، لینوکس، OS X، ویندوز، Solaris و UNIX اجرا کرد.</p>The post <a href="https://hamidrezababazadeh.ir/%d9%85%d8%ad%db%8c%d8%b7-%d8%a8%d8%b1%d9%86%d8%a7%d9%85%d9%87-c/">محیط برنامه #C</a> first appeared on <a href="https://hamidrezababazadeh.ir">حمیدرضا بابازاده</a>.]]></content:encoded>
					
					<wfw:commentRss>https://hamidrezababazadeh.ir/%d9%85%d8%ad%db%8c%d8%b7-%d8%a8%d8%b1%d9%86%d8%a7%d9%85%d9%87-c/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>بررسی کلی</title>
		<link>https://hamidrezababazadeh.ir/%d8%a8%d8%b1%d8%b1%d8%b3%db%8c-%da%a9%d9%84%db%8c/</link>
					<comments>https://hamidrezababazadeh.ir/%d8%a8%d8%b1%d8%b1%d8%b3%db%8c-%da%a9%d9%84%db%8c/#respond</comments>
		
		<dc:creator><![CDATA[حمیدرضا بابازاده]]></dc:creator>
		<pubDate>Mon, 15 Apr 2019 14:19:39 +0000</pubDate>
				<category><![CDATA[آموزش #C]]></category>
		<category><![CDATA[مفاهیم مقدماتی سی شارپ]]></category>
		<guid isPermaLink="false">http://hamidrezababazade.com/?p=629</guid>

					<description><![CDATA[<p>#C یک زبان برنامه نویسی مدرن ، همه جانبه و شی گرایی است که توسط مایکروسافت توسعه یافته و توسط (European Computer Manufacturers Association (ECMA و (ISO) تائید شده است.</p>
The post <a href="https://hamidrezababazadeh.ir/%d8%a8%d8%b1%d8%b1%d8%b3%db%8c-%da%a9%d9%84%db%8c/">بررسی کلی</a> first appeared on <a href="https://hamidrezababazadeh.ir">حمیدرضا بابازاده</a>.]]></description>
										<content:encoded><![CDATA[<p> #C   یک زبان برنامه نویسی مدرن ، همه جانبه و شی گرایی است که توسط مایکروسافت توسعه یافته و توسط (European Computer Manufacturers Association (ECMA و (ISO) تائید شده است.</p>



<p>#C توسط Anders Hejlsberg و هم گروهیانش ، زمانی که آن ها روی .Net Framework کار می کردند، توسعه یافته است.</p>



<p> #C  برای زیرساخت های زبان مشترک (CLI) طراحی شده است و شامل کد های اجرائی و Runtime Environment می باشد که اجازه می دهد زبان های مختلف سطح بالا در پلتفورم های مختلف کامپیوترها و سازه ها اجرا شوند.</p>



<p>موارد زیر #C را یکی از پر کاربرد ترین زبان های برنامه نویسی تخصصی می کند.</p>



<ul><li>زبان برنامه نویسی مدرن
و همه جانبه</li><li>شی گرا</li><li>جز گرا</li><li>یادگیری آسان</li><li>زبان ساختاری</li><li>تولید برنامه های
کارامد و سودمند</li><li>می توان آن را در انواع
پلتفورم های های کامپیوتر ، کامپایل کرد</li><li>جزئی از .Net Framework</li></ul>



<h2 class="wp-block-heading"><strong>ویژگی های برتر برنامه نویسی با #C</strong></h2>



<p>هرچند ساختار  #C دنباله رو زبان های برنامه نویسی سطح بالا مثل C و C++ است ، و برنامه ی شی گرا می باشد اما شباهت بسیاری با جاوا دارد.</p>



<p> #C  ویژگی های برتر بسیاری دارد که باعث می شود برنامه نویسان بسیاری در سراسر جهان از آن استفاده می کنند.</p>



<p>ویژگی هایی همچون : </p>



<ul><li>Boolean Conditions یا شرایط بولین</li><li>Automatic Garbage Collection یا جمع آور اتوماتیک زباله</li><li>Standard Library یا کتابخانه استاندارد</li><li>Assembly Versioning یا نسخه آسمبلی</li><li>Properties and Events یا خواص و رویدادها</li><li>Delegates and Events Management یا نمایندگان و مدیریت رویدادها</li><li>Easy-to-use Generics</li><li>Indexers یا شاخص ها</li><li>Conditional Compilation یا مجموعه شرایط</li><li>Simple Multithreading</li><li>LINQ and Lambda Expressions  یا عبارات LINQ و Lambda </li><li>Integration with Windows یا ادغام و ترکیب با ویندوز</li></ul>The post <a href="https://hamidrezababazadeh.ir/%d8%a8%d8%b1%d8%b1%d8%b3%db%8c-%da%a9%d9%84%db%8c/">بررسی کلی</a> first appeared on <a href="https://hamidrezababazadeh.ir">حمیدرضا بابازاده</a>.]]></content:encoded>
					
					<wfw:commentRss>https://hamidrezababazadeh.ir/%d8%a8%d8%b1%d8%b1%d8%b3%db%8c-%da%a9%d9%84%db%8c/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
