یادگیری سی شارپ

شروع موضوع توسط saalek110 ‏13 دسامبر 2006 در انجمن برنامه‌نویسی C و هم خانواده‌هایش

  1. saalek110

    saalek110 Active Member

    ارسال‌ها:
    2,428
    تشکر شده:
    1,266
    امتیاز دستاورد:
    36
    [​IMG]

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

    قسمتهایی که با سی پلاس مشترک است را من توضیح نمی دهم و از لینک ها استفاده کنید.(منظور کسانی است که سی شارپ اولین زبان آنهاست) به نوعی این تاپیک مهاجرت سریع از سی پلاس به سی شارپ است.

    در تاپیک ((دات نت f1 لینک ))راجع به روش نصب ویژوال استودیو و اجرای برنامه ساخته شده بر کامپیوتر دیگر بحث شد. و اینجا فرض بر این است که شما ویژوال استودیو را نصب کرده اید.

    کتاب آقای هاشمیان در تاپیک زیر:
    آموزش c# به زبان فارسي
    http://forum.majidonline.com/threads/202620-آموزش-c-به-زبان-فارسي
     

    پیوست ها:

    • a1.jpeg
      a1.jpeg
      اندازه فایل:
      کیلوبایت 5.7
      نمایش ها:
      3
    • a2.gif
      a2.gif
      اندازه فایل:
      کیلوبایت 57.5
      نمایش ها:
      2
    آخرین ویرایش: ‏18 ژوئن 2013
    نوشته شده توسط saalek110 در ‏13 دسامبر 2006
    ruhmb1، BAHRAM SHAYAN، hosienmax100 و یک نفر دیگر از این ارسال تشکر کرده اند.
  2. saalek110

    saalek110 Active Member

    ارسال‌ها:
    2,428
    تشکر شده:
    1,266
    امتیاز دستاورد:
    36
    [​IMG]

    من از منوی فایل گزینه new project را زدم و console application را از قسمت سی شارپ زدم. طبق آموزش زیر:
    http://dev.ir/articles/show.asp?id=177

    و بعد این برنامه خودکار برای من ساخته شد:
    کد (Text):

    using System;
    using System.Collections.Generic;
    using System.Text;

    namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
            }
        }
    }
     
    بعد طبق آن آموزش دستوری را افزودم:
    کد (Text):

    using System;
    using System.Collections.Generic;
    using System.Text;

    namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
                Console.WriteLine("Hello C#!");
            }
        }
    }
     
    یعنی این خط اضافه شد:
    Console.WriteLine("Hello C#!");
    که کارش چاپ hello c# است.
    حالا مشکل این است که برنامه زود بسته می شود بعد اجرا که یک خط اضافه می کنیم تا بسته نشود. راستش اولین سئوالم این بود که این خط کد چیه ولی در همین صفحه گفته بود.
    کد (Text):

    using System;
    using System.Collections.Generic;
    using System.Text;

    namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
                Console.WriteLine("Hello C#!");
                Console.ReadLine(); // pause screen!
            }
        }
    }
     
    حالا بعد چاپ جمله اگر اینتر را بزینم برنامه خاتمه می یابد

    از همین سایت انواع متغیر:
    ================
    نوع هاي داده اي پايه ي زير در در سي شارپ به صورت پيش فرض مهيا هستند:

    object : نوعي است نامحدود كه مي تواند تمام انواع ديگر را نيز شامل شود. مثال :

    object = null;

    string : رشته ؛ در اينجا يك رشته توالي كاراكترهاي يونيكد مي باشد. مثال :

    string s= "hello";

    sbyte : نوع داده ايي صحيح 8 بيتي علامت دار.
    byte : نوع داده ايي صحيح 8 بيتي بدون علامت. مثال :

    sbyte val = 12;

    short : نوع داده ايي صحيح 16 بيتي علامت دار.
    ushort : نوع داده ايي صحيح 16 بيتي بدون علامت. مثال :

    short val = 12;

    int : نوع داده ايي صحيح 32 بيتي علامت دار.
    unit : نوع داده ايي صحيح 32 بيتي بدون علامت. مثال :

    int val = 12;

    long : نوع داده ايي صحيح 64 بيتي علامت دار.
    ulong : نوع داده ايي صحيح 64 بيتي بدون علامت. مثال :

    Long val1 = 12; long val2 = 34L;

    كلا در اينجا u به معناي unsigned است.

    float : نوع اعشاري با single precision .
    double : نوع اعشاري با double precision . مثال :

    float val = 1.23f;

    bool : نوع داده ايي Boolean كه مي تواند true و يا false باشد. مثال :

    Bool val = true;

    char : كاراكتر، دراينجا char يك كاراكتر يونيكد است.

    char val = 'h';

    به نحوه ي تعريف كاراكتر ها و همچنين رشته ها در سي شارپ دقت كنيد.

    decimal : نوع داده ايي دسيمال با 28 رقم معني دار.

    decimal val = 1.23M;
    ================
    نکته:
    ابتدا نوع متغير و سپس نام متغير و در آخر يك سمي كولون بكار برده مي شود. براي مثال :

    int a;

    كه در اينجا متغير a بعنوان يك متغير حاوي اعداد صحيح تعريف شده است.
    نكته ي مهمي كه در اينجا حائز اهميت است ، مقدار دهي اوليه ي متغيرها مي باشد. در غير اينصورت كامپايلر سي شارپ برنامه را بايك خطا متوقف مي كند. دليل اين امر هم اين است كه از استفاده از متغيرهاي بدون مقدار در طول برنامه جلوگيري شود تا ميزان خطاهاي در حين اجرا كاهش يابد.
    ================
    برنامه بعدی این سایت:
    کد (Text):

    using System;
    using System.Collections.Generic;
    using System.Text;

    namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
                int intVar1 = 0;

                int intVar2;
                intVar2 = 1;

                int intV3 = 15, intV4 = 12;

                string strText1 = "abcd";

                Console.WriteLine(
                "The value for variables are : \n intVar1=" + intVar1 +
                "\n intVar2=" + intVar2 +
                "\n intV3=" + intV3 +
                "\n intV4=" + intV4 +
                "\n strText1=" + strText1);

                Console.WriteLine("\n\n Press inter to terminate");
                Console.ReadLine(); // pause screen!
            }
        }
    }
     
    که آمده متغیرهایی تعریف کرده و چاپ کرده. متغیر intvar2 چرا مقدار اولیه داده نشده. مگر قرار نبود همه متغیرها مقدار دهی شوند؟ منظور از مقدار دهی اولیه چیه؟ در سی که مقدار نمی دادیم خطا نمی گرفت. اینجا کی خطا می گیره اگر مقدار ندهیم؟

    نتیجه اجرا:

    [​IMG]
    برای جزئیات بیشتر اگر در شرح کدها مشکلی بود به سایت اصلی که در پست اول لینکش بود مراجعه کنید. مثل معنی کامنت - کار \n و یا چگونگی اجرا کردن برنامه و غیره.
    این سایت منبع خود را http://www.irandevelopers.com اعلام کرده.
    =================
    دو سئوال این پست - پست قبل سئوال نداشت.
    اول اینکه تا چه زمانی مقدار اولیه ندهیم به متغیر خطا می دهد؟
    دوم اینکه چرا می گویند سی شارپ نقش محوری دارد در میان بقیه زبانهای دات نت. به نقل از این سایت و خیلی سایتهای فارسی دیگر.
     
    آخرین ویرایش: ‏31 دسامبر 2006
    نوشته شده توسط saalek110 در ‏13 دسامبر 2006
    ruhmb1، BAHRAM SHAYAN و hosienmax100 از این ارسال تشکر کرده اند.
  3. saalek110

    saalek110 Active Member

    ارسال‌ها:
    2,428
    تشکر شده:
    1,266
    امتیاز دستاورد:
    36
    [​IMG]

    صفحه دوم این سایت:
    آدرس:
    http://dev.ir/articles/show.asp?id=178

    آشنايي با فضاهاي نام (NameSpaces) :

    فضاهاي نام روشي براي مديريت كد نويسي هستند. براي مثال آنها ايجاد شده اند تا تداخلي بين نام هاي توابع در برنامه شما رخ ندهد. اين مساله در پروژه هاي بزرگ خود را نشان مي دهد و ممكن است دو آيتم در يك پروژه نام هاي يكساني را پيدا كنند. بدين وسيله اين شانس تصادم و تداخل كاهش پيدا مي كند. براي ايجاد يك فضاي نام به صورت زير عمل مي شود:
    کد (Text):

    namespace anyName
    {
    ……..

    Class anyClassName
    {
    ……….
    }

    …….

    }
     
    يكي از فضاهاي نام پايه اي در دات نت فريم ورك ، فضاي نام System مي باشد. براي استفاده از آن مي توان از كد زير كمك گرفت :
    کد (Text):

    using System;
     
    تمام فضاهاي نام به صورت پيش فرض public مي باشند و در خارج از كد شما قابل دسترسي هستند. روش استفاده از آنها به صورت زير است:
    کد (Text):

    ProjectName.NameSpace.ClassName.MemberName
     
    نكته :
    اگر دقت كرده باشيد هنگامي كه كرسر ماوس را روي هر آيتمي در منوي autocomplete نگه مي داريد و يا آنرا انتخاب مي كنيد يك راهنماي كوچك نمايش داده مي شود كه در حقيقت كامنت مربوط به آن تابع مي باشد. روش نوشتن چنين كامنت حرفه اي كه در منوهاي ويژوال استوديو ظاهر شود به صورت زير است كه بهتر است (!) قبل از هر تابع يا خاصيت يا كلاس و .... نوشته شود
    کد (Text):

    ///
    ///
    ///
    ///
     
    سالک: من وقتی ماوس را روی کلماتی مانند int یا console یا writeline نگه می دارم توضیحات مفیدی می آید ولی معنی چند جمله بالا را نفهمیدم.شاید ورژن 2003 کار می کرده و فرق داشته. من 2005 کار می کنم. اگر کسی توضیح بدهد خیلی خوبه.

    = = = == = == = = = = = =
    كلاس ها :

    چون سي شارپ تمام سر و كارش با كلاس ها است بنابراين بايد در مورد نحوه ي تعريف و استفاده از آنها تسلط كافي داشته باشيم.

    يك پروژه ي جديد console در VS.NET باز كنيد و نام آنرا در ابتدا ex03 وارد نماييد.
    بعد از باز شدن پروژه ، از منوي Project گزينه ي Add class را انتخاب كنيد تا كلاسي جديد به نام clsDate.cs را اضافه نماييم. ساختار فايل ايجاد شده توسط VS.NET به صورت زير است :

    سالک: وقتی یک پروژه کنسولی ایجاد کردیم این کد را داشتیم که بالای آن اسمش را نوشته به نام program.cs .(در ویژوال استودیوی 2005) .
    کد (Text):

    using System;
    using System.Collections.Generic;
    using System.Text;

    namespace ConsoleApplication2
    {
        class Program
        {
            static void Main(string[] args)
            {
            }
        }
    }
     
    حالا با رفتن به منوی پروجکت و زدن ((ادد کلاس)) یک فایل کنارش باز میشه به نام دیفالت class.cs حاوی این کد:
    کد (Text):

    using System;
    using System.Collections.Generic;
    using System.Text;

    namespace ConsoleApplication2
    {
        class Class1
        {
        }
    }
     
    در سایت گفته:
    تابع يا متد clsDate كه در اينجا به صورت پيش فرض ايجاد شده است اصطلاحا سازنده (constructor) نام دارد. اين تابع هر بار كه يك شيء جديد از كلاس مي سازيم به صورت خودكار اجرا مي شود.

    ولی من اینجا هیچ تابعی نمی بینم. یعنی همین آخرین کد داخل کلاسش هیچ تابعی نیست. انگار با ویژوال استودیوی 2003 جریان فرق کرده.
    خوب حالا ما سازنده نداریم ولی همان کارهایی که ایشان کرده را انجام می دهیم.
    اول به کلاس ساخته شده که در فایل دیگری بود متد آن را می افزاییم تا به شکل زیر شود:
    کد (Text):

    using System;
    using System.Collections.Generic;
    using System.Text;

    namespace ConsoleApplication2
    {
        class Class1
        {
            public string currentSystemDate
            {
                get
                {
                    return System.DateTime.Today.ToString();
                }
            }
        }
    }
     
    یک متد اضافه شده به نام currentSystemDate و با return خروجی اش را برمی گرداند به هر جا که صدا زده باشند آن را.

    سایت: مي خواهيم تاريخ جاري سيستم را به صورت يك خاصيت از اين كلاس دريافت کنیم. سالک: یعنی متدی به کلاس اضافه کردیم برای این کار.

    سایت: خاصيتي را كه مي خواهيم از برنامه دريافت كنيم با كلمه ي كليدي get معرفي مي نماييم.

    حالا کد قسمت برنامه اصلی را اضافه می کنیم:
    کد (Text):

    using System;
    using System.Collections.Generic;
    using System.Text;

    namespace ConsoleApplication2
    {
        class Program
        {
            static void Main(string[] args)
            {
                Class1 m_var = new Class1(); // initialize variable
                Console.WriteLine(m_var.currentSystemDate);
                Console.ReadLine();//pause!
            }
        }
    }
     
    سالک:من هیچ اسمی را عوض نکردم. یعنی class1 همان نامی بود که برنامه پیشنهاد کرده بود. اگر شما کلاسی با نام دیگر ساخته اید به جای class1 قرار دهید. M_var هم که در سی پلاس می گفتند شی ساخته شده از کلاس. اینجا(سی شارپ) هم حتما همین طوره.
    پس ما از شی m_var آمده ایم با m_var.currentSystemDate یک متد شی را فراخوانده ایم. یعنی چاپ کرده ایم خروجی آن را.

    توضیحات سایت در این مورد:
    البته برنامه ساده بالا نیاز به ساخت کلاس نداشت و خیلی ساده می شد با کد زیر(ساخت یک پروژه و دو خط کد):

    کد (Text):

    using System;
    using System.Collections.Generic;
    using System.Text;

    namespace ConsoleApplication3
    {
        class Program
        {
            static void Main(string[] args)
            {
                Console.WriteLine(System.DateTime.Today.ToString());
                Console.ReadLine();//pause!
            }
        }
    }
     
    به همان نتیجه رسید ولی اینجا می خواسته طرز ساخت کلاس و استفاده از آن را آموزش دهد.
     
    آخرین ویرایش: ‏31 دسامبر 2006
    نوشته شده توسط saalek110 در ‏13 دسامبر 2006
    ruhmb1، violet_kia2، BAHRAM SHAYAN و یک نفر دیگر از این ارسال تشکر کرده اند.
  4. saalek110

    saalek110 Active Member

    ارسال‌ها:
    2,428
    تشکر شده:
    1,266
    امتیاز دستاورد:
    36
    [​IMG]

    می رویم صفحه سوم: مقدمه اي بر سي شارپ : قسمت سوم
    http://dev.ir/articles/show.asp?id=179

    در بسياري از موارد هنگام برنامه نويسي لازم است تا از عبارات شرطي استفاده كنيم. براي انجام اينكار دو روش عمده وجود دارد. استفاده از if و يا switch . از if بيشتر براي مقايسه هايي تكي و كوچك استفاده مي شود و حاصل مقايسه ي آن يا true است و يا false . از عبارت switch هنگامي استفاده مي شود كه مقايسه هاي متعددي بايد در مورد يك مقدار صورت گيرد.
    هر دو عبارت if و switch توسط عبارتهايي Boolean كنترل مي شوند ( true و يا false ) . در هنگام استفاده از if اگر عبارت Boolean حاصل اش true باشد اولين قسمت شرط اجرا مي شود و سپس برنامه از انتهاي if ادامه پيدا مي كند. اگر حاصل عبارت Boolean مساوي false باشد كنترل برنامه به قسمت else منتقل مي شود.
    مثال :

    يك پروژه ي جديد console باز كنيد و نام آنرا ex04 بگذاريد. سپس كد زير را در آن وارد و جرا كنيد :
    سالک : من نام ندادم و هر چی ویژوال استودیو اسم گذاشته قبول کردم یعنی ConsoleApplication4

    کد (Text):

    using System;
    using System.Collections.Generic;
    using System.Text;

    namespace ConsoleApplication4
    {
        class Program
        {
            static void Main(string[] args)
            {
                Console.WriteLine("Enter 1 character to be evaluated");

                char cUserInput = (char)Console.Read();

                if (char.IsDigit(cUserInput) )
                {
                    Console.WriteLine("The char is a number!");
                    Console.ReadLine();//pause!
                }
                    else
                {
                    Console.WriteLine("The char is not a number!");
                    Console.ReadLine();//pause!
                }
                Console.ReadLine();//pause!
            }
        }
    }
     
    سالک: 3 تا Console.ReadLine من اضافه کردم و کروشه های دورشان را . شاید کارم درست نباشه . فقط خواستم زود اجرا بشود . شرط در سی پلاس هم هست و نیازی به بحث نیست. تابع IsDigit قابل توجه است که از امکانات آماده سی شارپ است. در سی پلاس چیزی با این عنوان من ندیدم. در محیط ویژوال استودیو روی این کلمه و کلمه char قبل از آن اگر ماوس را نگه دارید اطلاعات خوبی می دهد.
    سئوال : آیا این ها همان سلسله مراتب ساختارهای کلاس های دات نت است؟ بی زحمت راهنمایی کنید.

    نکات خود سایت:
    استفاده از switch :

    بهتر است اين مورد را با يك مثال دنبال كنيم.
    پروژه ي سي شارپ جديدي به نام ex05 در حالت console در VS.NET باز كنيد. دراينجا مي خواهيم يك كلاس جديد تعريف كرده و توسط خاصيتي كه در آن ايجاد مي كنيم متوجه شويم روز جاري مطابق سيستم چه روزي است .
    يك كلاس جديد از منوي پروژه ،‌با استفاده از گزينه ي Add class به برنامه اضافه كنيد و نام آنرا در ابتدا clsDate بگذاريد.سالک: من باز اسمی ندادم و همان class1 را قبول کردم.
    داخل کلاس این کد را اضافه کنید:
    کد (Text):

      public string systemDayOfWeek
            {
                get
                {

                    string res = "";
                    switch (System.DateTime.Now.DayOfWeek.ToString())
                    {
                        case "Saturday":
                            res = "شنبه";
                            break;

                        case "Sunday":
                            res = "يک شنبه";
                            break;

                        case "Monday":
                            res = "دوشنبه";
                            break;

                        case "Tuesday":
                            res = "سه شنبه";
                            break;

                        case "Wednesday":
                            res = "چهار شنبه";
                            break;

                        case "Thursday":
                            res = "پنج شنبه";
                            break;

                        case "Friday":
                            res = "جمعه";
                            break;
                    }

                    return res;
                }
            }
     
    جمعا کلاس این میشه فایلش:
    کد (Text):

    using System;
    using System.Collections.Generic;
    using System.Text;

    namespace ConsoleApplication5
    {
        class Class1
        {
            public string systemDayOfWeek
            {
                get
                {

                    string res = "";
                    switch (System.DateTime.Now.DayOfWeek.ToString())
                    {
                        case "Saturday":
                            res = "شنبه";
                            break;

                        case "Sunday":
                            res = "يک شنبه";
                            break;

                        case "Monday":
                            res = "دوشنبه";
                            break;

                        case "Tuesday":
                            res = "سه شنبه";
                            break;

                        case "Wednesday":
                            res = "چهار شنبه";
                            break;

                        case "Thursday":
                            res = "پنج شنبه";
                            break;

                        case "Friday":
                            res = "جمعه";
                            break;
                    }

                    return res;
                }
            }
        }
    }
     

    هنگام ذخيره كردن اين كد ويژوال استوديو به شما اخطار مي دهد كه كد داراي حروف يونيكد است. از منوي فايل گزينه ي advanced save options را انتخاب كنيد. در اينجا مي توان نوع ذخيره سازي را يونيكد انتخاب كرد.

    فایل اصلی هم میشه این:
    کد (Text):

    using System;
    using System.Collections.Generic;
    using System.Text;

    namespace ConsoleApplication5
    {
        class Program
        {
            static void Main(string[] args)
            {
                Class1 m_var = new Class1();
                Console.WriteLine(m_var.systemDayOfWeek);
                Console.ReadLine();
            }
        }
    }
     
    برای من هنوز علامت سئوال می آید به جای نوشته ها موقع سئوالش yes را زدم(شرح علت خط های پایین تر). سئوال یونیکد را. باز هم برنامه من بی مکث پرید بیرون ولی دیگه دستکاری اش با شما. باید کار بشه روی آن.

    توضیحات سایت:
    نقل از تاپیک یونیکد:
    http://forum.majidonline.com/showthread.php?t=62170
     
    آخرین ویرایش: ‏31 دسامبر 2006
    نوشته شده توسط saalek110 در ‏13 دسامبر 2006
    ruhmb1 و BAHRAM SHAYAN از این پست تشکر کرده اند.
  5. saalek110

    saalek110 Active Member

    ارسال‌ها:
    2,428
    تشکر شده:
    1,266
    امتیاز دستاورد:
    36
    قسمت چهارم : آرایه ها در سی شارپ
    http://dev.ir/articles/show.asp?id=180

    هنگامي آرايه ها ايجاد مي شوند كه بخواهيم با مجموعه اي از اطلاعات همجنس كار كنيم. براي نمونه از يك آرايه براي ذخيره تعدادي كاراكتر مي خواهيم استفاده نماييم. آرايه ها هم يك نوع متغير هستند پس بايد تعريف و مقدار دهي اوليه شوند ، نوع و تعداد اعضاي آنها نيز بايد معين گردد.
    فرض كنيد 10 داده ي هم جنس داريم ( براي مثال رشته (string) ) و مي خواهيم آنها را ذخيره كنيم. يا مي توان 10 متغير مختلف را تعريف كرد و سپس تك تك آنها را مقدار دهي نمود و يا يك آرايه تعريف نمود و سپس در خانه هاي مختلف آن اين ده عضو را چيد. اين مطلب زماني حائز اهميت مي شود كه داده هاي همجنس و به نوعي مرتبط ما تعداد زيادي داشته باشند.

    براي تعريف آرايه چندين راه مختلف وجود دارد :
    براي تعريف آرايه ابتدا نوع آنرا مشخص مي كنيد سپس [] را بايد جلوي تعريف نوع بگذاريد اين دستور زبان است و چون چرا ندارد! در زبان سي كمي متفاوت بود. اين كروشه ها بعد از نام متغير مي آمدند. و سپس در اينجا نام يك متغير را كه بعدا به آن ارجا مي دهيم خواهيد گذاشت. براي مثال

    کد (Text):

    int[] table; // not int table[];
     
    حد پايين آرايه صفر بوده براي مثال اگر آرايه chrData[] ده عضو داشته باشد، اولين عضو آن chrData[0] و آخرين عضو آن chrData[9] است.
    مطلب ديگري كه در مورد آرايه ها خيلي مهم است اندازه ي آن است. يعني يك آرايه حاوي چند خانه ي خالي است كه ما اجازه داريم آنرا پر كنيم. مثال :

    کد (Text):

    int[] numbers; // declare numbers as an int array of any size
    numbers = new int[10]; // numbers is a 10-element array
    numbers = new int[20]; // now it's a 20-element array
     
    1- تعريف آرايه اي از رشته ها و مقدار دهي اوليه آن.

    کد (Text):

    String[] strData = new string[2];
     
    2- تعريف و مقدار دهي اوليه

    کد (Text):

    string [] strData = { "1234","abcd" };
     
    كه آرايه اي از نوع رشته اي به طول 2 عضو با مقدار دهي اوليه ايجاد شده است. در اين حالت نيازي به تعيين طول آن نمي باشد.

    3- روشي ديگر براي مقدار دهي اوليه

    کد (Text):

    strData[0] = "1234";
    strData[1] = "abcd";
     
    مثال: یک پروژه کنسولی باز کنید و کد زیر را به آن اضافه کنید:
    کد (Text):

    string[] sGoalList = new string[3];
    string sReplyStatement = "You have choosen Goal '";

    // Store goals in the array
    sGoalList[0] = "Hike the Appalachian Trail";
    sGoalList[1] = "Run the marathon";
    sGoalList[2] = "Give $1 million to worthwhile causes";

    // Store response to goals in the array
    //(declaring and initializing on same line)
    string[] sGoalResponse = {
    "If you are staring from GA, you should get "
    + "started in early spring, so you will "+
    "not get caught in snow.",
    "Make sure that you have a good pair of shoes.",
    "Start saving as soon as possible."};

    // Give the user a list of goals to choose from
    Console.WriteLine("GOAL LIST");

    for(int i = 0; i < sGoalList.Length; i++)
    {
    Console.WriteLine("Goal " + i +
    " - " + sGoalList[i]);
    }


    // Request the user to choose a goal.
    Console.WriteLine (""); // Write an empty line for space
    Console.Write("Please choose the number of the "
    + "goal that you want to achieve [0,1,2]: ");

    Console.ReadLine();
     
    سالک: با توجه به سینتکس های بالا شرح نیاز ندارد.
    شرح سایت:
     
    آخرین ویرایش: ‏13 دسامبر 2006
    نوشته شده توسط saalek110 در ‏13 دسامبر 2006
    ruhmb1، BAHRAM SHAYAN و hosienmax100 از این ارسال تشکر کرده اند.
  6. saalek110

    saalek110 Active Member

    ارسال‌ها:
    2,428
    تشکر شده:
    1,266
    امتیاز دستاورد:
    36
    قسمت پنجم: حلقه ها در سی شارپ
    http://dev.ir/articles/show.asp?id=181

    مقدمه :

    اگر نياز باشد تا قطعه اي از كد بيش از يكبار اجرا شود نياز به استفاده از حلقه ها مي باشد. براي مثال فرض كنيد آرايه اي به طول 1000 تعريف كرده ايد. اكنون مي خواهيد آنرا با هزار عدد متوالي پركنيد. بديهي است كه روش زير كارآمد نيست! :
    کد (Text):

    int[] intData = new int[1000];
    intData[0]=0;
    .
    .
    .
    intData[999]=1000;
     
    نوشتن اين خطوط متوالي احتمالا با كپي و پيست و اصلاح آن حداقل نيم ساعت طول مي كشد! بنابراين نياز به وسيله اي حس مي شود كه بتوان بوسيله ي آن امثال اينگونه كارها را انجام داد.

    تعريف حلقه ها و استفاده از آنها :

    براي تعريف حلقه ها ابزارهاي متعددي مانند while, do , for , foreach وجود دارند. استفاده و انتخاب آنها بستگي به سليقه ي شما و منطق برنامه دارد. در هر حال يك مساله بديهي است كه همواره بيش از يك راه حل براي يك مساله وجود خواهد داشت.

    استفاده از حلقه ي for :

    عموما كدنويسي را با كد نويسي مي توان آموخت! بنابراين در مورد انواع حلقه ها مثالهايي ارائه خواهد گرديد.

    یک پروژه کنسولی ایجاد کنید و کد زیر را به آن اضافه کنید:
    کد (Text):

    int[] intData = new int[1000];

    for (int i=0 ; i<1000 ; i++ )
    intData[i]=i;


    for(int i=0 ; i< intData.Length ; i++)
    {
    int j = intData[i];
    Console.WriteLine("intData[" + i + "]=" + j);
    }

    Console.ReadLine();
     
    سالک: ابتدا یک آرایه تعریف شده با 1000 خانه.
    بعد با حلقه ای آن را پر کرده
    و بعد با حلقه ای آن را چاپ کرده.

    شرح سایت:
    استفاده از حلقه while :

    داخل یک پروژه کد زیر را بیافزایید:
    کد (Text):

     int n = 1;

    while (n < 6)
    {
    Console.WriteLine("Current value of n is {0}", n);
    n++;
    }

    Console.ReadLine();;
     
    شرح سایت:
    استفاده از حلقه do :
    در یک پروژه کد زیر را بیافزایید:
    کد (Text):

    int x;
    int y = 0;

    do
    {
    x = y++;
    Console.WriteLine(x);

    }while(y < 5);

    Console.ReadLine();
     
    شرح سایت:
    استفاده از حلقه foreach :
    کد زیر را به یک پروژه اضافه کنید:
    کد (Text):

    int odd = 0, even = 0;
    int[] arr = new int [] {0,1,2,5,7,8,11};

    foreach (int i in arr)
    {
    if (i%2 == 0)
    even++;
    else
    odd++;
    }

    Console.WriteLine(
    "Found {0} Odd Numbers, and {1} Even Numbers.",
    odd, even) ;

    Console.ReadLine();
     
    شرح سایت:
     
    آخرین ویرایش: ‏13 دسامبر 2006
    نوشته شده توسط saalek110 در ‏13 دسامبر 2006
    ruhmb1، violet_kia2، BAHRAM SHAYAN و یک نفر دیگر از این ارسال تشکر کرده اند.
  7. saalek110

    saalek110 Active Member

    ارسال‌ها:
    2,428
    تشکر شده:
    1,266
    امتیاز دستاورد:
    36
    قسمت ششم:
    http://dev.ir/articles/show.asp?id=182

    دو مورد تكميلي در مورد حلقه ها در سي شارپ :

    1- هر جايي خواستيد به هر دليلي حلقه را پايان دهيد مي توانيد از دستور break; استفاده كنيد. در اين حالت به صورت آني حلقه خاتمه يافته و كدهاي ادامه ي برنامه پس از حلقه اجرا مي شوند.
    2- نحوه ي استفاده از دستور continue : فرض كنيد حلقه ي شما در راند 15 خودش است! حالا در اين راند شما مي خواهيد يك سري از دستورات درون حلقه اجرا نشوند و حلقه به راند بعدي منتقل شده و كارش را ادامه دهد. اينجا است كه از دستور continue استفاده مي شود. بهتر است به يك مثال ساده در اين زمينه توجه كنيم.

    کد زیر را در یک پروژه قرار دهید:
    کد (Text):

    Console.WriteLine(
    "for (int i = 1; i <= 100; i++) -> break at i==5" );
    for (int i = 1; i <= 100; i++)
    {
    if (i == 5)
    break;
    Console.WriteLine(i);
    }
    Console.ReadLine();


    Console.WriteLine(
    "for (int i = 1; i <= 10; i++) -> continue if i<9" );
    for (int i = 1; i <= 10; i++)
    {
    if (i < 9)
    continue;
    Console.WriteLine(i);
    }
    Console.ReadLine();
     
    سالک: برنامه بالا را من اجرا کردم. در حلقه اولی وقتی به عدد 5 می رسد چاپی صورت نمی گیرد. طبق توضیحات بالا باید از حلقه با break خارج شه باشد.
    در حلقه دومی وقتی اعداد کوچکتر از 9 است با continue داخل حلقه به پله بعدی می پرد . یعنی اعداد زیر 9 چاپ نمی شود.
    یعنی بریک کل حلقه را خاتمه می دهد و کانتینیو یک چرخش حلقه را خاتمه می دهد و به چرخش بعدی می پرد.

    ---------------------------------------
    ادامه صفحه ششم:

    موارد تكميلي مربوط به رد و بدل كردن مقادير به/از كلاس ها :

    در قسمت بعدي مي خواهيم خاصيتي را تعريف كنيم كه يك مقدار را از كاربر مي گيرد و در برنامه مي توان توسط قسمت هاي ديگر از آن استفاده كرد.

    ابتدا يك متغير عمومي بايد در سطح كلاس تعريف كرد تا مقدار دريافت شده توسط set را در خود نگاه داري كند (در مورد scope متغيرها ( متغيرهاي عمومي و محلي و امثال اينها) در هنگام معرفي توابع بيشتر بحث خواهد شد) . سپس از طريق كلمه ي كليدي value مقدار دريافت شده به متغير انتساب مي يابد و چون در سطح كلاس عمومي است در تمام كلاس قابل درسترسي است.

    باز هم یک پروزه می سازیم و یک کلاس اضافه می کنیم.

    کد زیر را به کلاس اضافه کنید:
    کد (Text):

    private int Year;


    public int setYear
       {
      set
         {
        Year = value;
         }
       }

    public bool IsLeapYear
       {
      get
         {
    return System.DateTime.IsLeapYear(Year);
         }
       }
       
     
    و کد زیر را به برنامه اصلی:
    کد (Text):

    Class1 m_var = new Class1();

                m_var.setYear = 1990;

                if (m_var.IsLeapYear)
                    Console.WriteLine("1990 is a leap year.");
                else
                    Console.WriteLine("1990 is not a leap year.");

                Console.ReadLine();
     
    توضيحاتي در مورد كد فوق:

    1- نحوه ي تعريف متغير از يك كلاس جزو اساسي ترين قسمت هاي كار با يك كلاس محسوب مي شود كه در قسمت هاي پيشين نيز معرفي گرديد.
    2- هنگامي كه از if استفاده مي كنيم لزومي ندارد حتما بنويسيم m_var.IsLeapYear==true . همين كه اين خاصيت ذكر مي شود در وهله ي اول true بودن آن چك خواهد شد.
    3- نحوه ي مقدار دهي به يك خاصيت را هم در كد فوق ملاحظه مي نماييد. در هنگام استفاده از خاصيت ها نيازي به آوردن پرانتزها () در مقابل نام آنها وجود ندارد.
    4- براي مرور ، نحوه ي معرفي خاصيت ها با get نيز بيان گرديد. با استفاده از set و get مي توان به كلاس ها ، مقادير متغيرها را پاس كرد و يا مقداري را دريافت نمود.
     
    آخرین ویرایش: ‏31 دسامبر 2006
    نوشته شده توسط saalek110 در ‏13 دسامبر 2006
    ruhmb1، BAHRAM SHAYAN، hosienmax100 و 2 نفر دیگر از این ارسال تشکر کرده اند.
  8. MnavidM

    MnavidM Active Member

    ارسال‌ها:
    2,962
    تشکر شده:
    503
    امتیاز دستاورد:
    36
    با تشکر بسیار از دوست بسیار خوبم Saalek ، تاپیک به مهم تبدیل گردید .

    موفق باشید.
    نوید.
     
    نوشته شده توسط MnavidM در ‏13 دسامبر 2006
    ruhmb1، BAHRAM SHAYAN، hosienmax100 و یک نفر دیگر از این ارسال تشکر کرده اند.
  9. saalek110

    saalek110 Active Member

    ارسال‌ها:
    2,428
    تشکر شده:
    1,266
    امتیاز دستاورد:
    36
    ممنون آقا نوید. شما خیلی لطف دارید.

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

    من قصد داشتم شش درس قبلی را مرور کنم ولی سایت دیگری هست که آن هم آموزش از ابتدای سی شارپ است که نکاتی را از آن نقل می کنم. شاید بعضی قسمتها تکراری باشد. همچنین کدهایی اگر داشت را شاید من تست نکنم چون فقط موضوع مهم برای من نقل نکاتش است. آدرس سایت:
    http://csharp-persian.netfirms.com/C_Sharp_List.htm

    درس اول : آغاز كار با C#



    در اين درس با ارائه چند برنامه و مثال ساده به طرز كار زبان C# مي‌پردازيم. اهداف اين درس عبارتند از :
    فهم ساختار پايه‌اي يك برنامه C#
    آشنايي با Namespace
    آشنايي با كلاس (Class)
    آشنايي با عملكرد متد Main()
    آشنايي با ورودي/خروجي يا I/O



    ليست 1-1، يك برنامة ساده با عنوان Welcome در زبان C#
    کد (Text):

    // Namespace اعلان

    using  System;

     

    // كلاس آغازين برنامه

    class WelcomeCSS

      {

       // آغاز كار اجراي برنامه

       public static void Main()

        {

         // نوشتن متن در خروجي

         Console.WriteLine("Welcome to the C# Persian Tutorial!");

        }

      }
     
    برنامة ليست 1-1 داراي 4 پارامتر اصلي است، اعلان Namespace، كلاس، متد Main() و يك دستور زبان C#.

    علاً براي اجراي برنامه‌ها مي‌توانيد از Visual Studio.Net استفاده كنيد. پس از نصب آن، وارد محيط C# شده و در قسمت انتخاب برنامة جديد گزينة Console را جهت اجراي برنامه‌ها انتخاب نماييد.

    کد (Text):

    csc Welcome.cs
     
    پس از اجراي برنامه، كامپايلر براي شما يك فايل قابل اجرا(Executable) تحت نام Welcome.exe توليد مي‌كند.

    قبل از كلمة Main() كلمه ديگري با عنوان static آورده شده است. اين كلمه در اصطلاح Modifier مي‌گويند. استفاده از static براي متد Main() بيان مي‌دارد كه اين متد تنها در در همين كلاس قابل اجراست و هيچ نمونه‌اي (Instance) ديگري از روي آن قابل اجرا نمي‌باشد. استفاده از static براي متد Main() الزامي است زيرا در ابتداي آغاز برنامه هيچ نمونه‌اي از هيچ كلاس و شي‌اي موجود نمي‌باشد و تنها متد Main() است كه اجرا مي‌شود. (در صورتيكه با برخي اصطلاحات اين متن از قبيل كلاس، شي، متد و نمونه آشنايي نداريد، اين به دليل آنست كه اين مفاهيم جزو مفاهيم اولية برنامه‌نويسي شي‌گرا (OOP) هستند. سعي مي‌كنم در درس‌هاي آينده به توضيح اين مفاهيم نيز بپردازم، ولي فعلاً در همين حد كافي مي‌باشد.)

    سالک: شاید بعضی تفاوتها وجود داشته باشد. اگر مثل من با ویژوال استودیو 2005 کار می کنید بنا را بگذارید بر کدهایی که بالا اجرا کردیم. این تفاوتها شاید ناشی از اختلاف ورژن یا چیزهای دیگر باشد. کلا گفتم که منظور یکی نکته های خوب این صفحه است و یکی مرور مطالب گفته شده در پستهای قبلی.

    ليست 2-1 : برنامه‌اي كه ورودي را از كاربر، بعنوان پارامتر Main()، دريافت مي‌كند.
    کد (Text):

    // Namespace اعلان

    using System;

    // كلاس آغازين برنامه

    class NamedWelcome

      {

       // آغاز اجرا برنامه

       public static void Main(string[] args)

         {

          // نمايش بر روي صفحه

          Console.WriteLine("Hello, {0}!", args[0]);

          Console.WriteLine("Welcome to the C# Persian Tutorial!");

         }

      }
     
    توجه داشته باشيد كه اين برنامه، ورودي را به صورت Command-Line دريافت مي‌كند و در هنگام اجراي برنامه بايد ورودي را در Command-Line وارد نماييد. در صورتيكه ورودي را وارد ننماييد برنامه دچار مشكل شده و متوقف خواهد شد.

    کد (Text):

    >Hello!, Meysam!

    >Welcome to C# Persian Tutorial!
     
    همان گونه كه مي‌بينيد، پس از اجراي برنامه نام شما كه از طريق Command-Line آنرا وارد نموده‌ايد در خروجي ظاهر مي‌شود. استفاده از آرگومان {n}، كه در آن n يك مقدار عددي است، جهت فرمت دادن به متن خروجي است كه بر روي صفحه به نمايش در مي‌آيد. مقدار n از صفر آغاز شده و به ترتيب افزايش مي‌بايد. به مثال زير توجه كنيد :
    کد (Text):

    Console.WriteLine("Hello! ,{0} ,{1}, {2}",args[0],args[1],args[2]);
     
    این خط از برنامه سه مقدار args[0],args[1],args[2] را در خروجي به ترتيب نمايش مي‌دهد. ملاحظه مي‌نماييد كه چون 3 مقدار را مي‌خواهيم نمايش دهيم، سه بار از آرگومان {n} استفاده كرده‌ايم و هر بار يك واحد به مقدار قبلي افزوده‌ايم. در آينده بيشتر با اين مفاهيم آشنا مي‌شويم.

    ليست 3-1 : يك برنامه كه قابليت محاوره با كاربر را دارد.
    کد (Text):

    // Namespace اعلان

    using System;

     

    // كلاس آغازين برنامه

    class InteractiveWelcome

      {

       //آغاز اجراي برنامه

       public static void Main()

        {

         // متني بر روي صفحه نمايش داده مي‌شود

         Console.Write("What is your name?: ");

         //متني نمايش داده شده و برنامه منتظر دريافت ورودي مي‌ماند

         Console.Write("Hello, {0}! ", Console.ReadLine());

         Console.WriteLine("Welcome to the C# Persian Tutorial!");

        }

      }
     
    همانطوريكه در اين برنامه ديده مي شود، متد Main() داراي پارامتر نيست. در عوض يك خط به متن برنامه ليست 2-1 اضافه شده است. در اولين خط از اين برنامه، متني با عنوان اينكه نام شما چيست؟ بر روي صفحه ظاهر مي‌شود. سپس در خط بعدي پس از نوشتن كلمه Hello, ، برنامه منتظر دريافت ورودي از كاربر مي‌شود. بدين معني كه اين بار تا زمانيكه كاربر متني را به عنوان نام خود وارد نكند اجراي برنامه به پيش نخواهد رفت و خط بعدي اجرا نمي‌شود. اين برنامه روش ايجاد ارتباط از طريق برنامه با كاربر را نمايش مي‌دهد. در اين مثال كاربر دقيقاً متوجه مي‌شود كه چه زماني بايد اطلاعات را وارد نمايد و اين اطلاعات چه بايد باشد در حاليكه در مثال قبل چنين نبود. همانگونه كه مي‌بينيد در اين برنامه آرگومان {0} مستقيماً از طريق دستور Console.ReadLine() دريافت مي‌شود و بلافاصله در خروجي نمايش داده مي‌شود. دستور ReadLine() نيز يكي از متدهاي كلاس Console است كه بوسيله آن رشته ورودي خوانده مي‌شود.

    خروجي برنامه فوق به شكل زير است :
    کد (Text):

    What is your name?:
     
    (سپس برنامه منتظر دريافت متني از ورودي توسط كاربر مي‌ماند)

    (پس از اينكه كاربر رشته‌اي را وارد كرد و كليدEnter را فشار داد، متن زير نمايش داده مي‌شود.)
    کد (Text):

    Hello, Meysam!
     
    (سپس اجراي برنامه به دستور بعدي منتقل مي‌شود)
    کد (Text):

    Welcome to the C# Persian Tutorial!
     
    خروجي كامل برنامه :
    کد (Text):

    What is your name?:

    Hello, Meysam! Welcome to the C# Persian Tutorial!
     
    توجه كنيد كه ReadLine() به عنوان يك متد، مقداري را به سيستم بازمي‌گرداند. اين مقدار در اين برنامه به آرگومان {0} برگردانده مي‌شود. اين خط از برنامه را مي‌توان طور ديگري هم نوشت :
    کد (Text):

    [string myName=Console.ReadLine();

    Console.WriteLine("Hello, {0}!",myName);
     
    در اين حالت ما يك متغير از نوع رشته با نام myName تعريف كرده‌ايم كه مقدار ورودي در آن ذخيره مي‌شود و سپس از اين مقدار به عنوان مقداري‌ كه {0} مي‌پذيرد استفاده كرده‌ايم.

    سالک : با تشکر از آقای میثم قزوینی.
     
    آخرین ویرایش: ‏31 دسامبر 2006
    نوشته شده توسط saalek110 در ‏13 دسامبر 2006
    ruhmb1، samira_3001، atazin و 3 نفر دیگر از این ارسال تشکر کرده اند.
  10. saalek110

    saalek110 Active Member

    ارسال‌ها:
    2,428
    تشکر شده:
    1,266
    امتیاز دستاورد:
    36
    چند نکته از :
    http://c-sharp.persianblog.com
    احتمالا ایشان از ویژوال استودیو 2003 استفاده می کرده. ولی مهم نیست. مهم نکات است.
     
    آخرین ویرایش: ‏31 دسامبر 2006
    نوشته شده توسط saalek110 در ‏14 دسامبر 2006
    ruhmb1، winer3549، BAHRAM SHAYAN و 2 نفر دیگر از این ارسال تشکر کرده اند.
  11. saalek110

    saalek110 Active Member

    ارسال‌ها:
    2,428
    تشکر شده:
    1,266
    امتیاز دستاورد:
    36

    جمع بندی منابع فارسی تاپیک:

    در این سایت هم آقای نصیری سلسله آموزشهایی دارد:
    http://www.developercenter.ir/forum/showthread.php?t=1196
    ==============================
    وبلاگ های سی شارپ:
    http://ldotnet.persianblog.com
    http://c-sharp.persianblog.com/

    http://www.csharppro.blogfa.com/
    http://csharpblog.blogfa.com/
    http://csnarges.blogfa.com/

    http://netprg.mihanblog.com/
     
    آخرین ویرایش: ‏14 ژانویه 2007
    نوشته شده توسط saalek110 در ‏16 دسامبر 2006
    ruhmb1 و Old User از این پست تشکر کرده اند.
  12. saalek110

    saalek110 Active Member

    ارسال‌ها:
    2,428
    تشکر شده:
    1,266
    امتیاز دستاورد:
    36

    کتابهای فارسی:


     
    آخرین ویرایش: ‏1 ژانویه 2007
    نوشته شده توسط saalek110 در ‏16 دسامبر 2006
    ruhmb1 و Old User از این پست تشکر کرده اند.
  13. saalek110

    saalek110 Active Member

    ارسال‌ها:
    2,428
    تشکر شده:
    1,266
    امتیاز دستاورد:
    36

    کتابهای انگلیسی:


    به این سایت هم سری بزنید: با تشکر از جناب سفیر safir187
    http://www.itebookhome.com

    [/QUOTE]

     
    آخرین ویرایش: ‏11 می 2007
    نوشته شده توسط saalek110 در ‏19 دسامبر 2006
    ruhmb1 از این پست تشکر کرده است.
  14. saalek110

    saalek110 Active Member

    ارسال‌ها:
    2,428
    تشکر شده:
    1,266
    امتیاز دستاورد:
    36
    منبع:
    http://www.aachp.ir/post.aspx?no=74
    ------------------------------------------------

    کتاب مرجع C# .Net - ارائه شده توسط مسعود اقدسی فام

    بنا به درخواست برخي از دوستان اينبار كتاب الکترونيكي جامع و كاملي رو در مورد زبان برنامه نويسي C# .Net معرفي مي كنم. كتاب Pro C# 2005 and the .NET 2.0 Platform تهيه شده توسط Andrew Troelsen براي برنامه نويسان مبتدي، نيمه حرفه اي و حتي حرفه اي زبان سي شارپ مطالب جالب و آموزنده اي داره. ویرایش سوم اين كتاب 1032 صفحه اي از 5 بخش و 25 فصل با عناوين زير تشكيل شده:

    Part 1 Introducing C# and the .NET Platform

    Chapter 1 The Philosophy of .NET

    Chapter 2 Building C# Applications



    Part 2 The C# Programming Language

    Chapter 3 C# Language Fundamentals

    Chapter 4 Object-Oriented Programming with C#

    Chapter 5 Understanding Object Lifetime

    Chapter 6 Understanding Structured Exception Handling

    Chapter 7 Interfaces and Collections

    Chapter 8 Callback Interfaces, Delegates, and Events

    Chapter 9 Advanced C# Type Construction Techniques

    Chapter 10 Understanding Generics



    Part 3 Programming with .NET Assemblies

    Chapter 11 Introducing .NET Assemblies

    Chapter 12 Type Reflection, Late Binding, and Attribute-Based Programming

    Chapter 13 Processes, AppDomains, Contexts, and CLR Hosts

    Chapter 14 Building Multithreaded Applications

    Chapter 15 Understanding CIL and the Role of Dynamic Assemblies



    Part 4 Programming with the .NET Libraries

    Chapter 16 The System.IO Namespace

    Chapter 17 Understanding Object Serialization

    Chapter 18 The .NET Remoting Layer

    Chapter 19 Building a Better Window with System.Windows.Forms

    Chapter 20 Rendering Graphical Data with GDI+

    Chapter 21 Programming with Windows Forms Controls

    Chapter 22 Database Access with ADO.NET



    Part 5 Web Applications and XML Web Services

    Chapter 23 ASP.NET 2.0 Web Pages and Web Controls

    Chapter 24 ASP.NET 2.0 Web Applications

    Chapter 25 Understanding XML Web Services



    همونطور که از سرفصلهای کتاب مشخصه، سعی شده تمامی مباحث مربوط به سی شارپ بررسی بشه. برای دانلود کتاب با حجم حدود ۱۳ مگابايت اینجا كليك كنيد.
     
    آخرین ویرایش: ‏11 می 2007
    نوشته شده توسط saalek110 در ‏23 دسامبر 2006
    ruhmb1 از این پست تشکر کرده است.
  15. saalek110

    saalek110 Active Member

    ارسال‌ها:
    2,428
    تشکر شده:
    1,266
    امتیاز دستاورد:
    36
    به نقل از :
    http://barnamenevis.org/forum/showthread.php?t=42075
    -------------------------------------------
    کد (Text):

    Net FrameWork
    کد:
    1- Download the .NET FrameWork
    2- .NET FrameWork Google Group
    3- Introduction to .NET FrameWork
    4- .NET FrameWork
    5- Understanding .NET FrameWork at a glance
    6- .NET FrameWork Training Modules
     
    کد (Text):

    NET source codes and samples
    کد:
    1- http://www.codeave.com/
    2- http://www.freevbcode.com/
    3- http://msdn.microsoft.com/downloads/
    4- http://www.aisto.com/roeder/dotnet/
    5- http://www.codeproject.com
    6- http://www.planetsourcecode.com
    7- http://www.abstractvb.com/
    8- .Net Samples Google Group
    9- http://www.codetoad.com/
    10- http://www.razorsoft.net/
    11- Developmentor - .net code samples
    12- Visual Studio.NET Code Swap
    13- http://www.developerfusion.co.uk/
    15- http://www.yeohhs.com/modules/news/
    16- http://www.sourcecodesworld.com/
     
    کد (Text):

    NET Security
    کد:
    1- http://www.net-security.org/
    2- About .NET Security
    3- .NET Security - C# & VB.NET
    4- .NET and computer security
    5- Java vs. .NET Security
    6- Secuity in .NET FrameWork(PDF) - New
    .NET Tools & Components
    کد:
    1- WiseOwl .NET Code Obfuscator
    2- http://www.windowsforms.com
    3- http://www.componentsource.com
    4- http://www.devdirect.com
    5- http://www.dotnetframework.de/dotnet...kte/tools.aspx
    6- http://www.dvxp.com/en/Downloads.aspx
    .NET Mobile
    کد:
    1- .NET Mobile Tutorial
    2- Introduction to ASP .NET Mobile
    Web Development(ASP.NET)
    کد:
    1- ASP Help, ASP Tutorials, ASP Programming, ASP Code
    2- ASP.NET: Scripts, Applications Controls, ASP.NET hosting
    3- http://www.hotscripts.com/ASP.NET/index.html]
    4- ASP.NET Web: The Official Microsoft ASP.NET 2.0 Site
    5- www.learnasp.com
    6- http://www.aspfriends.com
    7- ASP.NET Google Group
    8- DevASP.NET for ASP.NET, VB.NET, XML and C# (C-Sharp) Developers
    9- http://www.asp-index.net/
    Database Programming(ADO.NET)
    کد:
    1- http://www.adoguy.com/default.aspx - New
    2- DevASP - ADO.NET Section - New
    VB.NET
    کد:
    1- http://www.vbwire.com/
    2- http://vbnet.mvps.org
    3- http://www.vbcity.com
    4- http://www.visualbasicscript.com
    6- DevAsp - VB Section
    7- http://abstractvb.com
    8- DeveloperFusion - VB Section
    9- http://www.dotnet2themax.com
    10- CodeProject - VB.NET Section
    11- VB.NET Google Group
    12- An Overview of Visual Basic 2005 - New
    13- About Visual Basic - New
    14- Visual Basic Frequently Asked Questions - New
    15- VB.NET 2005 free trainings - New
    C#
    کد:
    1- http://www.mastercsharp.com
    2- CodeProject - C# Section
    3- http://c-sharpcorner.com/
    4- http://www.csharpfriends.com
    5- C# Google Group
    6- http://www.csharp-station.com
    7- DevAsp - C# Section
    8- CodeGuru - C# Section
    9- C# And Its Types - New
    10- Programming PocketPC in C# - New
    SQL Server
    کد:
    1- http://www.sql-server-performance.com
    2- http://www.sql-scripts.com
    3- http://www.mcdbadirectory.com
    4- http://databases.about.com/od/sqlserver
    5- SQL Server Help, SQL Server Tutorials, and more
    6- Secure Architecture for an SQL / Web Server
    7- www.SQLServerCentral.com
     
    کد (Text):

    مراجع و* لينكهاي درباره SQL Server
    نقل قول:سايتي مفيد درباره SQL Server
    اسكريپت هاي رايگان براي SQL Server و ساير بانك هاي اطلاعاتي
    سايتي درباره امتحان MCSDBA
    سايتي ديگر در باره SQL Server
    SQL Server Help, SQL Server Tutorials, SQL Server Programming, SQL Server Code
    Secure Architecture for an SQL / Web Server
    www.SQLServerCentral.com
     
    کد (Text):


    http://vb-helper.com/
    http://www.vbexplorer.com/
    http://www.vbaccelerator.com/
    http://searchvb.techtarget.com/
    http://www.developer.com/net/vb/
     
    http://www.xtremevbtalk.com/

    با مراجعه به سايت زير ، مي توانيد ليستي از "مرجع سايت های دات نت" را مشاهده نماييد.

    کد:
    http://srco.ir/LinkDotNetSites.asp

    -----------------------------------
    فیلم آموزشی معرفی چند لینک در تاپیک زیر:
    http://www.barnamenevis.org/forum/showthread.php?t=36283
     
    آخرین ویرایش: ‏29 ژوئن 2007
    نوشته شده توسط saalek110 در ‏23 دسامبر 2006
    ruhmb1 از این پست تشکر کرده است.
  16. saalek110

    saalek110 Active Member

    ارسال‌ها:
    2,428
    تشکر شده:
    1,266
    امتیاز دستاورد:
    36
    سورس سی شارپ:

    معرفی سایتهای سورس:
    http://www.programmerworld.net/resources/csharp/csharp_source.php

    http://www.codeproject.com/csharp/
    http://www.java2s.com/Code/CSharp/CatalogCSharp.htm

     
    آخرین ویرایش: ‏1 فوریه 2007
    نوشته شده توسط saalek110 در ‏23 دسامبر 2006
    ruhmb1 از این پست تشکر کرده است.
  17. saalek110

    saalek110 Active Member

    ارسال‌ها:
    2,428
    تشکر شده:
    1,266
    امتیاز دستاورد:
    36
    معرفی سایتهای دات نت:
    http://www.developercenter.ir/Forum/showthread.php?t=443
     
    آخرین ویرایش: ‏30 آوریل 2007
    نوشته شده توسط saalek110 در ‏26 دسامبر 2006
    ruhmb1 از این پست تشکر کرده است.
  18. saalek110

    saalek110 Active Member

    ارسال‌ها:
    2,428
    تشکر شده:
    1,266
    امتیاز دستاورد:
    36
    ادیت شد.
     
    آخرین ویرایش: ‏11 می 2007
    نوشته شده توسط saalek110 در ‏26 دسامبر 2006
    ruhmb1 از این پست تشکر کرده است.
  19. saalek110

    saalek110 Active Member

    ارسال‌ها:
    2,428
    تشکر شده:
    1,266
    امتیاز دستاورد:
    36
  20. saalek110

    saalek110 Active Member

    ارسال‌ها:
    2,428
    تشکر شده:
    1,266
    امتیاز دستاورد:
    36
    لینک تاپیک:

    اس ام اس با سی شارپ
    http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=344083&SiteID=1
    http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=856908&SiteID=1

    os version detection
    http://blogs.msdn.com/ejarvi/archive/2004/06/08/151162.aspx

    Plugin tutorial
    http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=900055&SiteID=1

    Is it possible to execute c# program in background
    http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=881962&SiteID=1

    Asian characters in a rich edit text box
    http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=867273&SiteID=1

    Adding new project in current project?
    http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=818228&SiteID=1

    How to Add forms dynamically...
    http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=818606&SiteID=1

    مربوط به صدا:
    Communication between forms
    http://www.codeguru.com/forum/showthread.php?t=409788
     
    آخرین ویرایش: ‏15 ژوئن 2007
    نوشته شده توسط saalek110 در ‏26 دسامبر 2006
    ruhmb1، rahman24، atazin و یک نفر دیگر از این ارسال تشکر کرده اند.

به اشتراک بگذارید