تصویر توسط جولین ماکولان در Unsplash
مقدمه
اگر مدتی است که برنامه نویسی می کنید یا حداقل تا حدودی تجربه دارید. شما موافق هستید که حلقه ها بخشی از ساختار اصلی یک زبان برنامه نویسی خاص هستند.
مانند زبان C#، حلقه for، حلقه do-while، حلقه while و حلقه foreach را داریم.
با این حال، مواقعی وجود دارد که درک یا تشخیص هدف حلقهها به سادگی با نگاه کردن به آن دشوار است و توسعهدهنده باید یک نقطه شکست تعیین کند و وارد کد شود تا هدف آن را بفهمد.
این حتی در مورد حلقه های ساده و تک و به خصوص حلقه های تو در تو نیز صادق است. داشتن چندین ساختار حلقهای در یک پروژه میتواند کاندید خوبی برای جایگزینی با عملگرهای استاندارد LINQ باشد که منجر به کد کوتاهتر و بصریتر میشود.
به همین دلیل است که در این مقاله، ما در مورد عملگرهای پارتیشن LINQ بحث خواهیم کرد و کدهای غیر LINQ معادل آن را نشان خواهیم داد.
II. زمینه
با نمونه کدمان، تصمیم گرفتم از پروژه xUnit برای بررسی نتایج عملگر LINQ و معادل غیر LINQ آن با استفاده از زبان C# استفاده کنیم.
من توصیه می کنم قبل از اینکه به هر یک از اپراتورهای پارتیشن LINQ برویم، نمونه پروژه را دانلود کنید.
III. اپراتورهای پارتیشن LINQ چیست؟
عملگرهای پارتیشن LINQ دنباله ارائه شده را به قسمت هایی تقسیم می کنند و یکی از قسمت ها را برمی گردانند. به عبارت دیگر، عملگرهای پارتیشن به شما به عنوان یک توسعه دهنده در جداسازی و بازگرداندن یک قطعه از مجموعه نتایج از یک دنباله معین از مجموعه ها کمک می کنند.
در اینجا 4 نوع مختلف عملگر پارتیشن وجود دارد: Take، TakeWhile، Skip و SkipWhile.