X
تبلیغات
آموزش برنامه های کاربردی - آموزش زبان برنامه نویسی سی شارپ (#C)
آشنایی با زبان برنامه نویسی سی شارپ(#C)
مايكروسافت در مصاف با جاوا، بدنبال ارائه يك زبان كامل بود كه سايه جاوا را در ميادين برنامه نويسی كم رنگ تر نمايد. شايد بهمين دليل باشد كه #C را ايجاد كرد. شباهت های بين دو زبان بسيار چشمگير است. مايكروسافت در رابطه با ميزان استفاده و گسترش زبان فوق بسيار خوشبين بوده و اميدوار است بسرعت زبان فوق گستردگی و مقبوليتی به مراتب بيشتر از جاوا را نزد پياده كنندگان نرم افزار پيدا كند.با توجه به نقش محوری اين زبان، از آن بعنوان مادر زبانهای برنامه نويسی در دات نت نام برده می شود. مورد فوق به تنهائی، می تواند دليل قانع كننده ای برای يادگيری اين زبان باشد، ولی دلايل متعدد ديگری نيز وجود دارد كه در ادامه به برخی از آنها اشاره می گردد.
مطرح شدن بعنوان يك استاندارد صنعتی
انجمن توليدكنندگان كامپيوتر اروپا (ECMA) زبان #C را در سوم اكتبر سال 2001 بعنوان يك استاندارد پذيرفته (ECMA-334) و بدنبال آن تلاش های وسيعی برای كسب گواهی ISO نيز انجام شده است. زبان فوق در ابتدا توسط شركت مايكروسافت و بعنوان بخشی از دات نت پياده سازی و بلافاصله پس از آن توسط شركت های اينتل، هيوليت پاكارد و مايكروسافت مشتركا، جهت استاندارسازی پيشنهاد گرديد.زبان #C بگونه ای طراحی شده است
 
برای خواندن مقاله بر روی ادامه مطلب کلیک کنید. 
ادامه مطلب
+ نوشته شده توسط hedieh در سه شنبه بیست و دوم تیر 1389 و ساعت |
مقدمه ای بر سی شارپ(#C)

طي سلسله مقالاتي مي خواهيم با C# بيشتر آشنا شويم. فرض اين مقالات بر اين است كه آشنايي مختصري با زبانهاي برنامه نويسي داريد ، هر چند كار ما تقريبا از صفر شروع مي شود و هدف آن سادگي هر چه بيشتر است.

C# از دو زبان C++ و Java متولد شده است! حاوي بسياري از جنبه هاي C++ مي باشد اما ويژگي هاي شيء گرايي خودش را از جاوا به ارث برده است.

C# اگرچه از C++ گرفته شده است اما يك زبان "خالص" شيء گرا (Object oriented) مي باشد. هر دو زبان ياد شده جزو زبانهاي هيبريد محسوب مي شوند اما طراحان C# اين مورد را به اندازه ي C++ مهم تلقي نكرده اند. يك زبان هيبريد اجازه ي برنامه نويسي با شيوه هاي مختلف را ميسر مي كند. دليل اينكه C++ هيبريد است ، اين است كه قرار بوده تا با زبان C سازگار باشد و همين امر سبب گرديده تا بعضي از جنبه هاي C++ بسيار پيچيده شوند.

زبان سي شارپ فرض اش بر اين است كه شما مي خواهيد تنها برنامه نويسي شيء گرا انجام دهيد و همانند C++ مخلوطي از برنامه نويسي رويه ايي (Procedural) و شيء گرا را نمي خواهيد به پايان برسانيد. بنابراين بايد طرز فكر خودتان را با دنياي شيء گرايي تطبيق دهيد. در ادامه خواهيد ديد كه در سي شارپ هر چيزي شيء است حتي يك برنامه ي سي شارپ.

برنامه ي اول :

Visual studio.net را اجرا كنيد و سپس در صفحه ي ظاهر شده New Project را برگزينيد.

برای خواندن مقاله بر روی ادامه مطلب کلیک کنید. 


ادامه مطلب
+ نوشته شده توسط hedieh در سه شنبه بیست و دوم تیر 1389 و ساعت |
با سلام خدمت شما كاربر گرامي

با توجه به مطالبی که در بخش Socket Programming - Overview از وبلاگ آمده است، اکنون شما می توانید برنامه نویسی سوکت را در C# آغاز کنید. از مزایای برنامه نویسی در محیط Visual Studio  استفاده از محیط کاری .NET می باشد که کتابخانه قدرتمندی از API را برای برنامه نویسی فراهم می کند. از بین کتابخانه هایی که در .NET ارائه شده است، فضاهای نام System.Net و System.Net.Sockets برای برنامه نویسی سوکت بکار می روند. در کلیه مراحل آموزش و برنامه ها، از APIهایی که ....................


ادامه مطلب
+ نوشته شده توسط hedieh در دوشنبه بیست و یکم تیر 1389 و ساعت |

Microsoft Visual C# Default Keybindings

-------------------------------------------------------------

   این e-book شامل لیست کلیه کلیدهای میانبری است که در هنگاه کار با Visual Studio و زبان C# می توان از آنها استفاده کرد. آشنایی با کلید های میانبر و برخی از امکاناتی که در اختیار برنامه نویس قرار می دهند، تجربه برنامه نویسی با این زبان و محیط Visual Studio را لذت بخش تر می کند.

Download E-Book – 148 KB

+ نوشته شده توسط hedieh در دوشنبه بیست و یکم تیر 1389 و ساعت |
در مواقعی که میخواهیم با استفاده از توابع، عمل مشابهی را بر روی داده هایی با نوع های مختلف انجام دهیم تکنیک Overloading بسیار مفید است. به عنوان مثال، بدون در نظر گرفتن تکنیک Overloading، برای یافتن عنصر Maximun در چند آرایه (که ممکن است نوع آرایه ها int و یا double باشد) باید برای هر نوع آرایه تابعی جدا با نامی متفاوت داشته باشیم، به عنوان مثال تابع MaxValueInDoubleArray() برای آرایه های double و یا تابع MaxValueInIntArray() برای آرایه های int. با تکنیک Overloading می توانیم توابعی داشته باشیم که.......
ادامه مطلب
+ نوشته شده توسط hedieh در دوشنبه بیست و یکم تیر 1389 و ساعت |
  متغیری از نوع Delegate در واقع یک اشاره گری است به توابعی که نوع خروجی آنها یکسان و همچنین از نظر تعداد، نوع و ترتیب پارامتر ها مشابه هستند. به عنوان مثال برای دسترسی به دسته توابع زیر می توان یک متغیر از نوع Delegate تعریف کرد که این متغیر می تواند در هر لحظه فقط به یکی از آنها اشاره کند. سپس با استفاده از ..........
ادامه مطلب
+ نوشته شده توسط hedieh در دوشنبه بیست و یکم تیر 1389 و ساعت |
در برنامه ای که در این قسمت تشریح می کنیم، نشان می دهیم که چطور می توان یک میزبان (Host) را در شبکه هدف قرار داد و به اطلاعات DNSی آن میزبان دسترسی ........


ادامه مطلب
+ نوشته شده توسط hedieh در دوشنبه بیست و یکم تیر 1389 و ساعت |
در این قسمت از آموزش برنامه نویسی شبکه در C# یک برنامه Client و یک برنامه Server تحت Consol خواهیم نوشت که این دوبرنامه برای برقراری ارتباط با هم از پروتکل TCP استفاده می کنند. در واقع این دو برنامه از طریق یک سوکت TCP با هم ارتباط برقرار خواهند کرد و برنامه Client یک رشته متنی Hello Server! را به Server ارسال کرده و Server بعد از دریافت این.......
ادامه مطلب
+ نوشته شده توسط hedieh در دوشنبه بیست و یکم تیر 1389 و ساعت |
   در این قسمت از آموزش برنامه نویسی شبکه در C# یک برنامه Client و یک برنامه Server تحت Consol خواهیم نوشت که این دوبرنامه برای برقراری ارتباط با هم از پروتکل UDP استفاده می کنند. در واقع این دو برنامه از طریق یک سوکت UDP با هم ارتباط برقرار خواهند کرد و برنامه Client یک رشته .....
ادامه مطلب
+ نوشته شده توسط hedieh در دوشنبه بیست و یکم تیر 1389 و ساعت |
در اين درس با ارائه چند برنامه و مثال ساده به طرز كار زبان C# مي‌پردازيم. اهداف اين درس عبارتند از :

      فهم ساختار پايه‌اي يك برنامه C# 

      آشنايي با Namespace

      آشنايي با كلاس (Class)

      آشنايي با عملكرد متد Main()

      آشنايي با ورودي/خروجي يا I/O

................برای خواندن مقاله بر روی ادامه مطلب کلیک کنید.


ادامه مطلب
+ نوشته شده توسط hedieh در یکشنبه بیستم تیر 1389 و ساعت |

در اين درس به معرفي عبارات، انواع و متغيرها در زبان #C مي‌پردازيم. هدف از اين درس بررسي موارد زير است :

      آشنايي با متغيرها
      فراگيري انواع(Types) ابتدايي در #C
      فراگيري و درك عبارات(Expressions) در #C
      فراگيري نوع رشته‌اي(String) در زبان #C
      فراگيري چگونگي استفاده از آرايه‌ها(Arrays) در زبان #C

............برای خواندن مقاله بر روی ادامه مطلب کلیک کنید.


ادامه مطلب
+ نوشته شده توسط hedieh در یکشنبه بیستم تیر 1389 و ساعت |

در اين درس با دستورالعمل‌هاي كنترل و انتخاب در #C آشنا مي‌شويد. هدف اين درس عبارتست از :

      يادگيري دستور if

      دستور if-else

      دستور if-else if … else يا if تودرتو

      عملگرهاي OR و AND  (|| و &&)
      يادگيري دستور switch
      نحوه بكارگيري دستور break در دستور switch
      درك صحيح از نحوه بكارگيري دستور goto

      معادل بلوك switch با استفاده از if-else

 

.........برای خواندن مقاله بر روی ادامه مطلب کلیک کنید.


ادامه مطلب
+ نوشته شده توسط hedieh در یکشنبه بیستم تیر 1389 و ساعت |

در اين درس نحوه استفاده از دستورالعمل‌هاي كنترل حلقه در زبان C# را فرا خواهيد گرفت. هدف اين درس فهم و درك موارد زير مي‌باشد :

         حلقه while

         حلقه do-while     

         حلقه for

         حلقه foreach

..............برای خواندن مقاله بر روی ادامه مطلب کلیک کنید.


ادامه مطلب
+ نوشته شده توسط hedieh در یکشنبه بیستم تیر 1389 و ساعت |

در اين درس با كلاسها در زبان C# آشنا خواهيد شد. اهداف اين درس به شرح زير مي‌باشند :


      پياده‌سازي سازنده‌ها (Constructors)
      درك تفاوت بين اعضاي نمونه (Instance) و استاتيك (Static)
      آشنايي با تخريب كننده‌ها (Destructors)
      آشنايي با اعضاي كلاسها

 

............برای خواندن مقاله بر روی ادامه مطلب کلیک کنید.


ادامه مطلب
+ نوشته شده توسط hedieh در یکشنبه بیستم تیر 1389 و ساعت |

اهداف اين درس به شرح زير مي‌باشد :

        آشنايي با Namespace در زبان #C

        فراخواني اعضاي يك Namespace

        چگونگي استفاده از هدايتگر using

        چگونگي استفاده از هدايتگر alias

        اعضاي يك Namespace چه هستند؟

............برای خواندن مقاله بر روی ادامه مطلب کلیک کنید.


ادامه مطلب
+ نوشته شده توسط hedieh در یکشنبه بیستم تیر 1389 و ساعت |
 متدها

در اين قسمت با متدها در زبان C# آشنا مي‌شويد. اهداف اين درس به شرح زير مي‌باشد :

        درك ساختار يك متد

        درك تفاوت بين متدهاي استاتيك و متدهاي نمونه

        ايجاد نمونه جديد از اشياء / نحوه فراخواني متدها / درك چهار گونه متفاوت پارامترها

        نحوه استفاده از مرجع this

............برای خواندن مقاله بر روی ادامه مطلب کلیک کنید.


ادامه مطلب
+ نوشته شده توسط hedieh در یکشنبه بیستم تیر 1389 و ساعت |

در اين درس با ساختارها (Struct) در زبان C# آشنا مي‌شويم. اهداف اين درس بشرح زير مي‌باشند

  يك struct يا ساختار (Structure) چيست؟

  پياده‌سازي ساختارها(Struct)

  نكات مهم و مطالب كمكي دربارة struct ها

  استفاده از ساختارها(Struct)

............برای خواندن مقاله بر روی ادامه مطلب کلیک کنید.


ادامه مطلب
+ نوشته شده توسط hedieh در یکشنبه بیستم تیر 1389 و ساعت |
ويژگيها در C#

در اين درس با ويژگيها (Properties) در زبان C# آشنا خواهيم شد. اهداف اين درس به شرح زير مي‌باشد :

     موارد استفاده از Property ها

     پياده‌سازي Property

     ايجاد Property فقط خواندني (Read-Only)

     ايجاد Property فقط نوشتني (Write-Only)

............برای خواندن مقاله بر روی ادامه مطلب کلیک کنید.


ادامه مطلب
+ نوشته شده توسط hedieh در یکشنبه بیستم تیر 1389 و ساعت |

  صفات و استفاده از آنها

در اين درس با نحوه استفاده از صفتها در زبان C# آشنا خواهيد شد. اهداف ما در اين درس به شرح زير است :

         صفت ها چه هستند و چرا از آنها استفاده مي‌کنيم

         استفاده از صفتهای تک پارامتری و چند پارامتری

         انواع پارامترهاي صفت (پارامترهاي Named و Positional)

         Target های صفتها

............برای خواندن مقاله بر روی ادامه مطلب کلیک کنید.


ادامه مطلب
+ نوشته شده توسط hedieh در یکشنبه بیستم تیر 1389 و ساعت |
صفات و استفاده از آنها

در اين درس با نحوه استفاده از صفتها در زبان C# آشنا خواهيد شد. اهداف ما در اين درس به شرح زير است :

         توليد صفتهای شخصی

         تعريف و يا کنترل موارد استفاده از يک صفت

         استفاده از پارامترهای Positional و Named در صفتهای شخصی

         انواع (type) معتبر برای پارامترهای صفت

         استفاده از صفتها در زمان اجرا

         خلاصه مطالب

 ...........برای خواندن مقاله بر روی ادامه مطلب کلیک کنید.


ادامه مطلب
+ نوشته شده توسط hedieh در یکشنبه بیستم تیر 1389 و ساعت |
رخدادها و delegate ها در  C#(بخش اول)

نكته مهم قبل از مطالعه اين درس

توجه نماييد، delegate ها و رخدادها بسيار با يكديگر در تعامل‌اند، از اينرو در برخي موارد، قبل از آموزش و بررسي رخدادها، به ناچار، از آنها نيز استفاده شده و يا به آنها رجوع شده است. رخدادها در قسمت انتهايي اين درس مورد بررسي قرار مي‌گيرند، از اينرو در صورتيكه در برخي موارد دچار مشكل شديد و يا درك مطلب برايتان دشوار بود، ابتدا كل درس را تا انتها مطالعه نماييد و سپس در بار دوم با ديدي جديد به مطالب و مفاهيم موجود در آن نگاه كنيد. در اغلب كتابهاي آموزشي زبان C# نيز ايندو مفهوم با يكديگر آورده شده‌اند ولي درك رخدادها مستلزم درك و فراگيري كامل delegate هاست، از اينرو مطالب مربوط به delegate ها را در ابتدا قرار داده‌ام.

هدف ما در اين درس به شرح زير است :

     مقدمه

     درك اينكه يك delegate چيست؟

     اعلان و پياده‌سازي delegate ها

.........برای خواندن مقاله بر روی ادامه مطلب کلیک کنید.


ادامه مطلب
+ نوشته شده توسط hedieh در یکشنبه بیستم تیر 1389 و ساعت |

 رخدادها و delegate ها در   C#(بخش دوم)

فهرست مطالب بیان شده در این قسمت به قرار زیر است:

      

      درك سودمندي delegate ها

      حل مسئله بدون استفاده از delegate

      حل مسئله با استفاده از delegate

      اعلان delegate ها (بخش پيشرفته)

      فراخواني delegate ها (بخش پيشرفته)

      ايجاد نمونه‌هاي جديد از يك delegate (بخش پيشرفته)

........ برای خواندن مقاله بر روی ادامه مطلب کلیک کنید.


ادامه مطلب
+ نوشته شده توسط hedieh در یکشنبه بیستم تیر 1389 و ساعت |

 رخدادها و delegate ها در  C#(بخش سوم)

فهرست مطالب بیان شده در این قسمت به قرار زیر است:

       درك اينكه يك رخداد يا يك event چيست؟

       اعلان رخدادها

       نكات و توضيحات پيشرفته

       ثبت شدن در يك رخداد

       لغو عضويت در يك رخداد

       فراخواني رخدادها

       مثالي پيشرفته از استفاده رخدادها در فرمهاي ويندوز

       نكات كليدي درباره رخدادها و delegate ها

..........برای خواندن مقاله بر روی ادامه مطلب کلیک کنید.


ادامه مطلب
+ نوشته شده توسط hedieh در یکشنبه بیستم تیر 1389 و ساعت |

برخورد با استثناها (Exception Handling)

در اين درس با چگونگی برخورد با استثناها (يا خطاهاي غير قابل پيش‌بيني) در زبان برنامه‌سازي C# آشنا مي‌شويم. اهداف ما در اين درس بشرح زير مي‌باشد :

   درک و فهم صحيح يک استثناء يا Exception

   پياده‌سازي روتينی براي برخورد با استثناها توسط بلوک try/catch

   آزادسازي منابع تخصيص داده شده در بلوک finally

.............برای خواندن مقاله بر روی ادامه مطلب کلیک کنید.


ادامه مطلب
+ نوشته شده توسط hedieh در یکشنبه بیستم تیر 1389 و ساعت |