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

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




نمايش نتايج 1 به 2 از 2

نام تاپيک: پیاده سازی IComparable

  1. #1
    آخر فروم باز
    تاريخ عضويت
    Jul 2009
    پست ها
    6,351

    7 پیاده سازی IComparable

    سلام،
    [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
    اگر ممکن هست ببنید.
    من تو همین قسمت اول مشکل دارم!
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    به تایع Sort یک "آرایه ای از شی " را پاس مدهیم.
    به طور پیش فرض IComparable رو پیاده کردیم تا مرتب سازی کنه
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    حالا
    اینترفیسی که پیاده کردیم داره یک نوع داد ه از نوع آبجکت رو میگیره،درصورتی که ما آرایه از اشیا رو براش فرستادیم.نه یک عدد آبجکت تنها
    حتی برای اثبات این حرف تونسته Cast کنه به نوع car پس یک دونه ارسال شده؟ اما ما یک آرایه فرستادیم.

    و قسمت دوم:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    اینجا شی که از ورودی به عنوان پارامتر گرفته رو مقایسه میکنه با this.make
    اینجا this کی و کدام شی هست؟!؟
    بر چه اساس تعین میشه هر سری کدام شی باشه؟
    پشت پرده داره چه اتفاقی میافته؟ ظاهرا متد Sort یک سری توابع مرتب سازی برای خودش داره و ما فقط فیلد که میخواهیم مقایسه کنیم را بهش میدهیم.
    در سی شارپ اینقدر مدیریت کارها رو کامپایلر برعهده گرفته که گاهی اوقات آدم گیج میشه که پشت پرده چه خبره؟
    راستش نمیشه از موضوع سریع رد شد و پذیرفت .میخواهم عمقی یاد بگیرم.

  2. #2
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    واسط IComparable شما یک شی (شی جاری=this) را با یک شی دیگر مقایسه میکند. درواقع دو شی با هم.
    به مثال زیر دقت کنید:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    در آخرین خط کد فوق دقت کنید...
    در این خط مقدار x با y مقایسه میشود که در این خط x همان this است و y همان obj ...

    =====

    در توابعی مانند Sort در زیرساختش حلقه ای دارد که عناصر را با هم مقایسه و چیدمانشان را تغییر میدهد.
    مجدد به خط آخر کد فوق دقت کنید...
    نکته مهم آن است که با IComparable شما امکان مقایسه دو نمونه شی را با هم فراهم ساخته اید
    یعنی دیگر میتوان هر دو نمونه Class1 را با هم مقایسه کرد...
    تابعی مانند Sort هم فقط به همین نیاز دارند، آنها میخواهند دو تا شی را بتوانند با هم مقایسه کنند و سپس با الگوریتم دلخواه خود در حلقه ای چیدمان این عناصر را تغییر دهد.

    امیدوارم به جواب هایتان رسیده باشید باز اگر نکته ابهامی بود بفرمائید
    موفق باشید.

Thread Information

Users Browsing this Thread

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

User Tag List

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

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