تبلیغات :
آکوستیک ، فوم شانه تخم مرغی، صداگیر ماینر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




صفحه 2 از 29 اولاول 12345612 ... آخرآخر
نمايش نتايج 11 به 20 از 286

نام تاپيک: آموزش كامل و جامع #C : سي شارپ

  1. #11
    آخر فروم باز WooKMaN's Avatar
    تاريخ عضويت
    Oct 2005
    محل سكونت
    Ķêŗmάņšĥąħ
    پست ها
    10,533

    پيش فرض

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

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

    مثال : يك برنامه ي سي شارپ جديد console را در VS.NET باز كنيد و نام آنرا درابتدا ex11 انتخاب نماييد. سپس كد زير را درون آن بنويسيد :


    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    موارد تكميلي مربوط به رد و بدل كردن مقادير به/از كلاس ها :

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

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

    مثال : يك برنامه ي سي شارپ جديد console را در VS.NET باز كنيد و نام آنرا درابتدا ex12 انتخاب نماييد. سپس از منوي پروژه يك كلاس جديد به آن اضافه نماييد (به نام clsDate) و كد زير را درون آن بنويسيد :


    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    براي استفاده از آن در متد main برنامه به صورت زير عمل مي كنيم:


    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    توضيحاتي در مورد كد فوق:

    1- نحوه ي تعريف متغير از يك كلاس جزو اساسي ترين قسمت هاي كار با يك كلاس محسوب مي شود كه در قسمت هاي پيشين نيز معرفي گرديد.
    2- هنگامي كه از if استفاده مي كنيم لزومي ندارد حتما بنويسيم m_var.IsLeapYear==true . همين كه اين خاصيت ذكر مي شود در وهله ي اول true بودن آن چك خواهد شد.
    3- نحوه ي مقدار دهي به يك خاصيت را هم در كد فوق ملاحظه مي نماييد. در هنگام استفاده از خاصيت ها نيازي به آوردن پرانتزها () در مقابل نام آنها وجود ندارد.
    4- براي مرور ، نحوه ي معرفي خاصيت ها با get نيز بيان گرديد. با استفاده از set و get مي توان به كلاس ها ، مقادير متغيرها را پاس كرد و يا مقداري را دريافت نمود.

  2. این کاربر از WooKMaN بخاطر این مطلب مفید تشکر کرده است


  3. #12
    آخر فروم باز WooKMaN's Avatar
    تاريخ عضويت
    Oct 2005
    محل سكونت
    Ķêŗmάņšĥąħ
    پست ها
    10,533

    پيش فرض

    مقدمه اي بر سي شارپ : قسمت هفتم

    تعريف متدها در سي شارپ

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

    در سي شارپ يك تابع به صورت زير تعريف مي شود :

    (نوع و اسامي پارامترها) نام تابع نوع خروجي تابع سطح دسترسي به تابع
    }
    بدنه ي تابع
    {

    براي تعريف يك متد يا تابع ابتدا سطح دسترسي به آن مانند public و private سپس نوع خروجي تابع مانند void ( هيچي ) ذكر مي گردد كه داخل اين پرانتزها مي توان ورودي هاي تابع يا بقولي آرگومان هاي ورودي را معرفي كرد. سپس تابع بايد با { شروع و با يك } خاتمه يابد.

    براي مثال :
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    هر تابعي مي تواند صفر تا تعداد بيشماري آرگومان ورودي و صفر تا تعداد بيشماري خروجي داشته باشد. بوسيله يك تابع مي توان پيچيدگي كار را مخفي كرد و صرفا با صدا زدن نام آن ، يك سري از عمليات را انجام داد. گاهي از اوقات لازم مي شود دو يا چند تابع با يك نام داشته باشيم بطوريكه پارامترهاي ورودي يا مقادير خروجي و يا نوع آرگومان هاي ورودي آنها با هم متفاوت باشد به اين كار overloading مي گويند.
    بسياري از كلاس هاي دات نت فريم ورك متدها و يا توابع مفيد حاضر و آماده اي را دارند. براي مثال كلاس DateTime ، متدي به نام ToLongDatastring دارد كه تاريخ را به صورت يك رشته طولاني بر مي گرداند.

    توابع void :

    توابعي كه با نوع void معرفي مي شوند هيچ خروجي ندارند و در زبان ويژوال بيسيك به آْنها sub و در دلفي به آنها procedure مي گويند.

    بازگرداندن يك مقدار از يك تابع :

    پس از اينكه عمليات يك مجموعه از كدها درون تابع به پايان رسيد با استفاده از كلمه ي return مي توان خروجي تابع را معرفي كرد. لازم به ذكر است ، هرجايي اين كلمه ي return ذكر شود كار تابع خاتمه مي يابد.

    بهتر است موارد فوق را با چند مثال مرور كنيم :

    مثال : يك برنامه ي سي شارپ جديد console را در VS.NET باز كنيد و نام آنرا درابتدا ex13 انتخاب نماييد. در اينجا مي خواهيم تابعي را تعريف كنيم كه سه برابر جذر يك عدد را بر مي گرداند.

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    توضيحاتي در مورد كد فوق :

    1- از شيء Math در سي شارپ مي توان براي انجام يك سري عمليات رياضي ابتدايي استفاده كرد. در اينجا از متد جذر گرفتن آن استفاده شده است.
    2- در تعريف تابع خودمان از كلمه ي كليدي static استفاده شده است. درون تابع Main نمي توان توابع غير استاتيك را فراخواني كرد. فعلا اين نكته را بخاطر را داشته باشيد تا در مقالات بعدي بيشتر راجع به آن صحبت شود.
    3- بد نيست تابع تعريف شده را كمي بيشتر آناليز كنيم :
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    ابتدا سطح دسترسي به تابع ذكر شده است. پابليك ، يعني اين تابع خارج از كلاس يك برنامه نيز قابل دسترسي است. سپس از كلمه ي static استفاده گرديده كه توضيح مختصري را در مورد آن ملاحظه كرديد. در ادامه نوع خروجي تابع كه در اينجا double مي باشد معرفي گرديده است. دقت كنيد كه حتما بايد نوع تعريف شده با مقداري كه يك تابع بر مي گرداند يكسان باشد و گرنه با يك خطا برنامه متوقف مي شود. سپس نام تابع تعريف شده است. داخل پرانتز ها نوع و نام آرگوماني ارائه شده است كه در بدنه ي تابع استفاده مي گردد. اگر به تعداد بيشتري پارامتر و يا آرگومان نياز بود مي توان آنها را با , از هم جدا كرد.
    پس از اينكه عمليات تابع خاتمه مي يابد با استفاده از return اين خروجي را معرفي مي نماييم.
    براي استفاده از اين تابع به سادگي نام تابع و سپس پرانتزها به همراه يك عدد دلخواه را مي نويسم كه آنرا در متد Main برنامه مي توان مشاهده كرد.

    تعريف توابع در كلاس هاي ديگر برنامه و نحوه ي استفاده از آنها :

    يكي از زيبايي هاي برنامه نويسي شيء گرا نظم و ترتيب و بسته بندي كارها مي باشد كه اصطلاحا در اينجا به آن encapsulation مي گويند. يعني ما يك سري از توابع و خواص را درون كپسولي به نام كلاس قرار مي دهيم تا به سادگي بارها و بارها از آن استفاده نماييم.
    براي اينكار به سادگي يك توابع را به صورت معمول درون كلاس تعريف مي نماييم و سپس همانند خواص كه در مورد آنها صحبت شد ، از توابع مي توان استفاده كرد با اين تفاوت كه هنگام كار با توابع حتي اگر آنها هيچ آرگومان و يا پارامتر ورودي هم نداشته باشند ذكر پرانتزها الزامي است.

    مثالي ديگر در اين زمينه :

    مثال : يك برنامه ي سي شارپ جديد console را در VS.NET باز كنيد و نام آنرا درابتدا ex14 انتخاب نماييد. سپس از منوي پروژه يك كلاس جديد را به برنامه اضافه نماييد (نام آنرا clsTools بگذاريد) .

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    سپس در متد Main برنامه مي توان به صورت زير از آن استفاده كرد :

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    توضيحاتي در مورد كد فوق :
    1- تابع intCalc ما دو عدد صحيح مثبت را مي گيرد و سپس جذر كوچكترين دو عدد ورودي را محاسبه مي كند.
    2- براي تبديل نوع هاي عددي مختلف به هم مي توان از شيء Convert استفاده كرد.
    3- بدون استفاده از شيء Convert يكبار برنامه را اجرا كنيد و دليل خطاي بوجود آمده را بيان نماييد

  4. 2 کاربر از WooKMaN بخاطر این مطلب مفید تشکر کرده اند


  5. #13
    آخر فروم باز WooKMaN's Avatar
    تاريخ عضويت
    Oct 2005
    محل سكونت
    Ķêŗmάņšĥąħ
    پست ها
    10,533

    پيش فرض

    مقدمه اي بر سي شارپ : قسمت هشتم

    چگونه از يك تابع بيش از يك خروجي دريافت كنيم.

    ظاهرا به نظر مي رسد كه توابع فقط مي توانند يك return داشته باشند و بلافاصله پس از فراخواني return كار تابع پايان يافته است. در سي شارپ دو كلمه ي كليدي به نام هاي ref و out اضافه شده اند كه اين امر را ساده تر مي كنند.

    استفاده از كلمه ي كليدي out :

    از out در تعريف تابع قبل از معرفي نوع آرگومان ورودي استفاده مي كنيم . در اين حالت بجاي اينكه به اين آرگومان ، آرگومان ورودي بگوييم ، مي توان آنرا آرگومان خروجي ناميد. تا يك مثال را در اين زمينه با هم مرور نكنيم اين مورد مفهوم نخواهد بود :

    مثال : يك برنامه ي سي شارپ جديد console را در VS.NET باز كنيد و نام آنرا درابتدا ex15 انتخاب نماييد. سپس كد زير را درون آن بنويسيد :

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    توضيحاتي در مورد كد فوق :
    1- در تابع TestOut آرگومان i از با كلمه ي كليدي out مشخص شده است. يعني اينكه درون تابع هر گونه تغييري روي i انجام شود ، خارج از تابع قابل دسترسي است.
    2- توابعي كه داراي آرگومانهايي تعريف شده با كلمه ي كليدي out هستند نيز مي توانند از return هم استفاده كنند. همانند مثال فوق.

    استفاده از كلمه ي كليدي ref :

    اين كلمه ي كليدي نيز دقيقا همانند out عمل مي كند و نحوه ي تعريف و استفاده از آن نيز مشابه است با اين تفاوت كه آرگوماني كه به اين نوع توابع فرستاده مي شود بايد مقدار دهي اوليه شده باشد.

    مثال : يك برنامه ي سي شارپ جديد console را در VS.NET باز كنيد و نام آنرا درابتدا ex16 انتخاب نماييد. سپس كد زير را درون آن بنويسيد :

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    توضيحاتي در مورد كد فوق :
    1- همانطور كه ملاحظه مي كنيد در اينجا هنگام استفاده از تابع FillArray بايد آرگوماني را كه مي خواهيم به آن پاس كنيم مقدار دهي اوليه كنيم.
    2- پس مي توان نتيجه گرفت آرگومانهايي كه با out تعريف مي شوند به صورت خالص خروجي هستند و نيازي به مقدار دهي اوليه هنگام استفاده از آنها وجود ندارد. از ref هنگامي استفاده مي كنيم كه بخواهيم روي متغير موجود و مقدار دهي شده ي خارج از تابع ، درون تابع عملياتي صورت گيرد و سپس همان متغير دستكاري شده ، عودت داده شود.

    تعريف تابعي با تعداد آرگومانهاي نامعلوم :

    گاهي از اوقات نياز است تا تابعي تعريف كنيم كه تعداد آرگومانهاي آن متغير باشند .براي اين منظور از كلمه ي كليدي params استفاده مي شود.
    دونكته در اينجا حائز اهميت است:
    1- در هر تابعي تنها مي توان يكبار از params استفاده كرد.
    2- پس از بكار بردن params ديگر نمي توان هيچ آرگوماني را تعريف كرد.

    يكي از مثالهايي كه در اين زمينه مي توان ارائه داد استفاده از آرايه ها به عنوان آرگومان ورودي است. در اين حالت يا مي توان يك آرايه را به صورت كامل به تابع معرفي كرد و يا تنها نام آنرا به تابع پاس كرد. مثال زير را ملاحظه كنيد :

    مثال : يك برنامه ي سي شارپ جديد console را در VS.NET باز كنيد و نام آنرا درابتدا ex17 انتخاب نماييد. سپس كد زير را درون آن بنويسيد :

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    توضيحاتي در مورد كد فوق :

    1- در تابع main به دو صورت از تابع UseParams ما استفاده شده است. يا اينكه خيلي ساده هر تعداد آرگومان را مي توان به تابع فرستاد و يا اينكه در ادامه آرايه ايي رسما تعريف و سپس به تابع فرستاده شود.
    2- نحوه ي تعريف و استفاده از آرايه ها به صورت آرگومان ورودي را نيز مي توان در مثال فوق آموخت

  6. این کاربر از WooKMaN بخاطر این مطلب مفید تشکر کرده است


  7. #14
    در آغاز فعالیت
    تاريخ عضويت
    May 2006
    پست ها
    2

    پيش فرض

    سلام خسته نباشي
    آموزش خوبي بود
    اگه مايل باشي ميتوني يه ايده بدي تا روي يه برنامه كار كنيم و قدم به قدم جلو بريم

  8. #15
    آخر فروم باز WooKMaN's Avatar
    تاريخ عضويت
    Oct 2005
    محل سكونت
    Ķêŗmάņšĥąħ
    پست ها
    10,533

    پيش فرض

    سلام خسته نباشي
    آموزش خوبي بود
    اگه مايل باشي ميتوني يه ايده بدي تا روي يه برنامه كار كنيم و قدم به قدم جلو بريم
    سلام رفیق
    والا من که چیزی به ذهنم نمیرسه هر طور خودت مایل هستی

  9. #16
    آخر فروم باز WooKMaN's Avatar
    تاريخ عضويت
    Oct 2005
    محل سكونت
    Ķêŗmάņšĥąħ
    پست ها
    10,533

    پيش فرض

    مقدمه اي بر سي شارپ : قسمت نهم
    مبحث overloading :

    گاهي از اوقات لازم است تا نگارش هاي مختلفي از يك تابع داشته باشيم. براي مثال تعريف سه تابع با يك نام اما با آرگومانهاي مختلف. به اين نوع توابع و يا متدها اصطلاحا Overloaded Methods مي گويند . ( فكر كنم آنرا سربارگذاري توابع ترجمه كرده اند! ) براي مثال :

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    مثال : يك برنامه ي سي شارپ جديد console را در VS.NET باز كنيد و نام آنرا درابتدا ex18 انتخاب نماييد. سپس كد زير را درون آن بنويسيد :


    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    توضيحاتي در مورد كد فوق :

    1- نحوه ي تعريف دو تابع با يك نام را ملاحظه مي نماييد. اينكار در زبان سي ممنوع است!
    2- كامپايلر به صورت هوشمند بر اساس نوع و تعداد آرگومانهاي ورودي ، ورژن مناسب را انتخاب و اجرا مي كند.

    نمونه ي ضعيفي از اين بحث در وي بي 6 به صورت تعريف توابعي با پارامترهاي Optional وجود داشت .

    مباحث تكميلي آرايه ها (آرايه هاي چند بعدي):

    آرايه هاي معمولي (يك بعدي) را مي توان يك رديف با تعدادي خانه خالي آماده ي پر شدن در نظر گرفت. آرايه ي دوبعدي را مي توان مانند يك جدول تشكليل شده از رديف ها و ستون ها در نظر گرفت و الي آخر...
    سي شارپ دو نوع آرايه ي چند بعدي را پشتيباني مي كند : rectangular and jagged
    در يك آرايه ي rectangular هر رديف ، طولش با رديف بعدي يكي است. آرايه ي jagged در حقيقت آرايه ايي از آرايه ها است ، بنابراين هر كدام از آنها مي تواند طول مختلفي داشته باشد.

    تعريف يك آرايه ي دوبعدي به صورت زير است :


    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    مثال : يك برنامه ي سي شارپ جديد console را در VS.NET باز كنيد و نام آنرا درابتدا ex19 انتخاب نماييد. سپس كد زير را درون آن بنويسيد :


    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    توضيحاتي در مورد كد فوق :
    1- نحوه ي تعريف ، مقدار دهي اوليه و استفاده از آرايه هاي دو بعدي را در مثال فوق ملاحظه مي نماييد.
    2- در يك آرايه ي دوبعدي محل قرار گيري رديف ها و ستون ها براي مثال به صورت زير است :

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    استفاده از آرايه هاي چند بعدي :

    مثال : يك برنامه ي سي شارپ جديد console را در VS.NET باز كنيد و نام آنرا درابتدا ex20 انتخاب نماييد. سپس كد زير را درون آن بنويسيد :
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    توضيحاتي در مورد كد فوق :
    1- در حقيقت مثال فوق تعريف آرايه ايي از آرايه ها بود.
    2- چون مقدار دهي اوليه به صورت واضحي انجام شده نيازي به ذكر ابعاد آرايه به صورت صحيح وجود نداشت

  10. #17
    در آغاز فعالیت
    تاريخ عضويت
    May 2006
    پست ها
    2

    پيش فرض

    سلام دوست عزيز
    خسته نباشي
    يه تقويم ويژول فارسي چطوره؟

  11. #18
    آخر فروم باز WooKMaN's Avatar
    تاريخ عضويت
    Oct 2005
    محل سكونت
    Ķêŗmάņšĥąħ
    پست ها
    10,533

    پيش فرض

    ببين دوست عزيز خوبه
    اما شما با ويبي 6 كار ميكني يا با ويبي دات نت ؟

  12. #19
    آخر فروم باز WooKMaN's Avatar
    تاريخ عضويت
    Oct 2005
    محل سكونت
    Ķêŗmάņšĥąħ
    پست ها
    10,533

    پيش فرض

    مقدمه اي بر سي شارپ : قسمت دهم

    Jagged arrays

    Jagged arrays آرايه اي از آرايه ها است و همانطور كه ذكر شد لزومي ندارد كه هر رديف آن با رديف بعدي هم طول باشد . هنگام تعريف اين نوع آرايه شما تعداد رديف ها را مشخص مي نماييد. هر رديف يك آرايه را نگهداري مي كند. در اينجا هر آرايه بايد تعريف شود. روش تعريف Jagged array به صورت زير است

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    در اينجا تعداد براكت ها بيانگر ابعاد آرايه مي باشد. براي مثال آرايه ي زير دو بعدي است :

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    و براي مثال براي دسترسي به پنجمين عنصر آرايه ي سوم به صورت زير عمل مي شود :

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    مثال : يك برنامه ي سي شارپ جديد console را در VS.NET باز كنيد و نام آنرا درابتدا ex21 انتخاب نماييد. سپس كد زير را درون آن بنويسيد :

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    توضيحاتي در مورد كد فوق :

    هنگام كار با آرايه هاي rectangular براي درسترسي به اعضا به صورت زير عمل مي شد :
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    اما در اينجا بدين صورت است :

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    استفاده از System.Array :

    دات نت فريم ورك كلاسي را معرفي كرده است به نام Array. توسط اين كلاس كار با آرايه ها و اعمال روي آنها براي مثال سورت كردن و غيره به شدت ساده مي شود .


    مثال : يك برنامه ي سي شارپ جديد console را در VS.NET باز كنيد و نام آنرا درابتدا ex22 انتخاب نماييد. سپس كد زير را درون آن بنويسيد :

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

    توضيحاتي در مورد كد فوق :
    از دو متد Sort و Reverse در اينجا براي سورت كردن و نمايش آرايه به ترتيب معكوس (از انتها به ابتدا) استفاده گرديده است.

    تعريف آرايه هاي ديناميك در سي شارپ :

    يكي از مشكلاتي كه با آرايه هاي معمول وجود دارد اين است كه قبل از هر كاري بايد طول آْنها را مشخص كرد. گاهي از اوقات ما دقيقا نمي دانيم برنامه چه تعداد عضو را دريافت مي كند تا آرايه اي از پيش تعريف شده با همان تعداد عضو ايجاد كنيم. براي حل اين مشكل از كلاس ArrayList تعريف شده در دات نت فريم ورك مي توان استفاده كرد.

    هنگام استفاده از ArrayList نيازي به دانستن تعداد اعضايي كه بايد اضافه شوند نمي باشد و با استفاده از متد Add آن به سادگي مي توان اعضاء را به آن اضافه نمود . تعدادي از خواص و متدهاي اين كلاس به صورت زير هستند :

    Adapter , FixedSize , ReadOnly , Repeat , Synchronized , Capacity,Count , IsFixedSize , IsReadOnly , IsSynchronized , Item , SyncRoot , Add , AddRange , BinarySearch , Clear , Clone , Contains , CopyTo , GetEnumerator , GetRange , IndexOf , Insert , InsertRange , LastIndexOf , Remove , RemoveAt , RemoveRange , Reverse , SetRange , Sort , ToArray , TrimToSize

    مثال : يك برنامه ي سي شارپ جديد console را در VS.NET باز كنيد و نام آنرا درابتدا ex23 انتخاب نماييد. سپس كد زير را درون آن بنويسيد :

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    توضيحاتي در مورد كد فوق :

    1- با كلمه ي كليدي override در قسمت هاي بعدي آشنا خواهيم شد.
    2- براي استفاده از ArrayList لازم بود تا فضاي نامي را كه اين كلاس در آن تعريف شده است ، به برنامه اضافه كرد.
    3- در مثال فوق نحوه ي تعريف دو كلاس را در يك فضاي نام مشاهده مي نماييد.
    4- نحوه ي تعريف و مقدار دهي ArrayList و همچنين استفاده از خواص آن در مثال فوق بررسي شده است

  13. این کاربر از WooKMaN بخاطر این مطلب مفید تشکر کرده است


  14. #20
    آخر فروم باز WooKMaN's Avatar
    تاريخ عضويت
    Oct 2005
    محل سكونت
    Ķêŗmάņšĥąħ
    پست ها
    10,533

    پيش فرض

    مقدمه اي بر سي شارپ : قسمت يازدهم
    از اين قسمت به بعد مي خواهيم نگاهي دقيق تر به بحث شيء گرايي در سي شارپ بياندازيم؛ همانند فضاهاي نام ، كلاس ها ، ارث بري ، پلي مرفيسم و غيره.

    در قسمت هاي قبل آشنايي مختصري با فضاهاي نام پيدا كرديم. در ادامه جزئيات بيشتري را در مورد آن بررسي خواهيم كرد.
    فضاهاي نام (namespaces) براي اداره كردن و نظم بخشيدن به كدها ارائه شده اند. همچنين از امكان تشابه اسمي در بين قسمت هاي مختلف برنامه نيز جلوگيري مي كنند. استفاده از آنها عادت پسنديده اي است هنگاميكه قصد داريم از كد نوشته شده بارها و بارها استفاده كنيم.

    مثال : يك برنامه ي سي شارپ جديد console را در VS.NET باز كنيد و نام آنرا درابتدا ex24 انتخاب نماييد. سپس كد زير را درون آن بنويسيد :
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    توضيحاتي در مورد كد فوق :
    يكي از روش هاي مناسب براي معرفي فضاهاي نام ، ارائه ي آنها به صورت سلسله مراتبي مي باشد. قسمت هاي عمومي تر در بالا و قسمت هاي اختصاصي تر در فصاهاي نام داخلي تر قرار داده مي شوند. اين روش به معرفي فضاهاي نام تو در تو منتهي مي شود (nested namespaces) ، همانند مثال بالا.

    كد فوق را به صورت زير با استفاده از عملگر دات (.) مي توان خلاصه نويسي كرد و نتيجه با قبل تفاوتي ندارد:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    طريقه ي فراخواني اعضاي فضاهاي نام :

    مثال : يك برنامه ي سي شارپ جديد console را در VS.NET باز كنيد و نام آنرا درابتدا ex25 انتخاب نماييد. سپس كد زير را درون آن بنويسيد :
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    توضيحاتي در مورد كد فوق :
    در كد فوق نحوه ي استفاده از اعضاي تعريف شده در فضاهاي نام را مي توان مشاهده كرد. نحوه ي استفاده از آنها همانطور كه در قسمت هاي قبل نيز گفته شد به صورت زير است :
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    براي مثال در فصاي نام tutorial كلاس myExample1 قرار دارد و داخل آن متد myPrint1 تعريف شده است. پس نحوه ي دسترسي به متد آن به صورت زير است :

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    كلاس هاي myExample1 و myExample2 هر دو به يك فضاي نام (ex25.tutorial) تعلق دارند ، هر چند جدا از هم نوشته شده اند. حتي آنها را با حفظ سلسله مراتب خودشان مي توان در فايلهاي جداگانه اي نيز نوشت.

    استفاده از using :

    مثال : يك برنامه ي سي شارپ جديد console را در VS.NET باز كنيد و نام آنرا درابتدا ex26 انتخاب نماييد. سپس كد زير را درون آن بنويسيد :
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    توضيحاتي در مورد كد فوق :

    همانند مثال بالا ، براي خلاصه نويسي مي توان از كلمه ي using به همراه نام namespace مورد نظر استفاده كرد. براي مثال اگر متد WriteLine را بخواهيم كامل بنويسيم به صورت زير است :

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    اما با قيد كردن و الحاق كردن فضاي نام آن ، ديگر نيازي به ذكر System در ابتداي آن نيست.

    نكته :

    باز هم مي توان خلاصه نويسي بيشتري را ارائه داد
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    در اين صورت تنها كافي است متد كلاس تعريف شده در آنرا به صورت زير فراخواني كنيم :

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

  15. 2 کاربر از WooKMaN بخاطر این مطلب مفید تشکر کرده اند


Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •