متدهاي MinBy و MaxBy

ساخت وبلاگ

فرض كنيد ليستي از اعضاي يك خانواده در نرم‌افزار میباشد طراحی سایت كه مي‌خواهيم بزرگترين و كوچكترين عضو آن خانواده مطابق سن را بدست آوريم. عالی شايد يك راهکار معمولی به کار گیری از سیاق OrderBy و OrderByDescending باشد:


البته يك راه‌حل بی آلایش‌خیس طراحی سایت در مشهد به کار گیری از متدهاي MinBy و MaxBy میباشد:


روال ElementAt
اين اسلوب نيز در ورژن جديد دات نت بهينه خیس گردیده است. شما براحتي مي‌‎توانيد يك عنصر را فقط با وارد كردن انديس آن واكشي كنيد (خروجي امر در مقابل آن كامنت گردیده است سومين عنصر از آغاز):


و در‌صورتی‌که اين كار را خواستيد از آخر جاری ساختن بدهيد رایاپارس كافي میباشد تا ابتداي آن كاراكتر ^ را قرار دهيد ! (خروجي فرمان در مقابل آن كامنت گردیده است دومين عنصر از آخر):


بهينه شدن سیاق Take

تصور كنيد كه مي‌خواهيم از يك انديس ahrefs تا تعداد مشخصي عنصر را واكشي كنيم. شايد راهکار زير به ذهنتان رسد:


البته يك روش بی آلایش‌خیس چاره زير میباشد (خروجي فرمان در مقابل آن كامنت گردیده‌است از دومين عنصر تا عنصر چهارم):


هم اکنون تصور كنيد كه بخواهيم اين كار از پایان شکل بگيرد. به عنوان مثال سه عنصر انتها را بخواهيم. در اين شکل بايد گشوده هم از كاراكتر ^ به همپا دو نقطه ممتد به کارگیری كنيم:


روال TryGetNonEnumeratedCount
تصور كنيد كه در جايي از اپ نياز داريد تا تعداد موادسازنده يك ليست را داشته باشيد. احتمالا از روال Count به کار گیری خواهيد كرد:


شايد ما يك نكته اساسی را در حیث نگيريم و آن‌ هم اين میباشد كه با فراخواني اسلوب Count اعضاي ليست مجدد شمارش مي‌شوند در صورتي كه اين كار شايد نياز نباشد. براي جلوگيري از اين كار مي‌توانيم از روال TryGetNonEnumeratedCountاستفاده كنيم. اين مشی سعي مي‌كند سوای شمارش دوباره اعضاي يك ليست تعداد آن ها را رجوع دهد. در‌حالتی که توانست اين كار را اعمال دهد نتيجه true و در غير اين‌شکل نتيجه false خواهد بود. در شکل صحيح بودن نتيجه ميتوان از متغير countبراي نمايش تعداد موادتشکیل دهنده استعمال كرد.


خروجي فرمان بالا موازی زير میباشد:

مرجع مقالات رسمی و معتبر طراحی سایت...
ما را در سایت مرجع مقالات رسمی و معتبر طراحی سایت دنبال می کنید

برچسب : طراحی سایت در مشهد, نویسنده : علی پور web02 بازدید : 160 تاريخ : يکشنبه 29 آبان 1401 ساعت: 13:26