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

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




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

نام تاپيک: این دستور در Orderby چگونه کار میکند؟

  1. #1
    Banned
    تاريخ عضويت
    Oct 2019
    پست ها
    142

    پيش فرض این دستور در Orderby چگونه کار میکند؟

    با سلام،

    عذرمیخوام میشه یک مثال بزنید که این دستور داره چطور کار میکنه؟؟

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


    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    خب ما یک دنباله ای از اعداد به ترتیب داریم که از 1 تا 49 هست و هدف تصادفی کردن اون هست.

    با دستور
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    ما یک عدد تصادفی درست میکنیم، اما چطور در OrderBy این عدد اجرا میشه؟ چطور مقایسه میشه؟ یعنی 49 تا عدد تصادفی ایجاد میشه و 49 بار لیست بر مبنای اون تغیر میکنه؟

    بر فرض مثال در اولین حرکت، عدد تصادفی که ایجاد میشه 1243131882 هست حال این عدد چطور لیست بر مبناش جابجا میشه؟

    ممنونم

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

    پيش فرض

    سلام
    اول باید عرض کنم که سه نسخه از تابع Linq و همچنین تابع OrderBy وجود دارد
    که سه بار متفاوت و با سه الگوریتم و سه روش متفاوت نوشته اند !
    تابعی که روی IEnumerable و IQueryable و ParallelEnumerable کار میکنند.

    این را مشخص کنم که در این مطلب جاری ما داریم برای Enumerable-OrderBy صحبت میکنیم.


    تابع OrderBy مرتب سازی را با الگوریتم QuickSort در قالب یک زنجیره/Chain ای از آرایه های elements و آرایه های keys انجام میدهد که به یک آرایه int از موقیت ها نگاشت/map شده اند
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    ولی نیاز نیست اینقدر پیچیده اش کنیم، جور دیگری توضیح میدهم که نگاشت/map در مفهوم tuple ادقام شود و ساده تر باشد ...


    برای یک تابع OrderBy تکی میتوانید چنین فرض کنید که تابع فوق یک جدول دو ستونه/Tuple از کلید-عنصر ها تشکیل میدهد، مانند:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    بعد از تشکیل این جدول دو ستونه از Tuple ها می آید و بر اساس ستون اول مرتب سازی را انجام میدهد.
    حالا شما آمده اید و بجای Price تابع Rand قرار داده اید، فرق خاصی نکرده !
    فقط مقادیر فیلد اول یا ستون اول را عوض کرده اید.
    این بار OrderBy آرایه/جدولی شبیه این تشکیل میدهد.
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    اول جدول بالا در RAM تشکیل شده و سپس عملیات مرتب سازی روی فیلد اول انجام میشود.
    گمانم خیلی واضح است و جای ابهامی ندارد.
    موفق باشید.
    Last edited by _H2_; 05-02-2020 at 02:52.

Thread Information

Users Browsing this Thread

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

User Tag List

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

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