عملگرهای انتخاب Select و SelectMany – آموزش LINQ

linq projection operators 11078 تصویر

عملگرهای انتخاب Select و SelectMany

در زبان کوئری نویسی LINQ دو نوع عملگر انتخاب وجود دارد که یکی Select و دیگری SelectMany است. در بخش این دو عملگر را بررسی خواهیم کرد.

عملگر Select

عملگر Select همیشه یک مجموعه از نوع IEnumerable باز میگرداند که شامل آیتم هایی است که توسط تابع مبدل داده ها تولید شده اند. این عملگر مشابه عملگر SELECT در SQL است. برای درک بهتر چگونگی عملکرد این عملگر در ادامه چند مثال ساده را بررسی می کنیم.

عملگر Select در سینتکس کوئری

در سینتکس کوئری، یک کوئری باید با یک Select یا GroupBy خاتمه یابد. در مثال زیر ما با استفاده از عملگر Select مجموعه ای از اسامی دانش آموزان را تولید می کنیم:

از این عملگر می توان به منظور شکل دادن به نتیجه نهایی استفاده کرد. برای نمونه می توان نتیجه را به صورت مجموعه ای از یک کلاس خاص یا یک نوع anonymous شامل خاصیت های مورد نیاز تغییر داد.

در مثال زیر با استفاده از عملگر Select از مجموعه studentList نام و سن دانش آموزان را با استفاده از یک نوع anonymous انتخاب می کنیم:

خروجی مثال فوق به شکل زیر خواهد بود:

عملگر Select در سینتکس متد

در سینتکس متد استفاده از عملگر Select اختیاری است. با این حال شما می توانید با کمک آن نتیحه نهایی را بر اساس نیاز خود شکل دهید. پیاده‌سازی مثال فوق با استفاده از متد افزودنی Select به این صورت خواهد بود:

عملگر SelectMany

عملگر SelectMany بر روی دنباله ای از مجموعه ها عمل می کند و نتیجه را به صورت یک مجموعه باز می گرداند. برای مشاهده جزئیات بیشتر از نحوه کارکرد این عملگر به مستندات عملگر SelectMany مراجعه کنید.

ثبت نظر
ریفریش کنید!
نظرات کاربران (۰ مورد)

هیچ نظری ثبت نشده است