عملگر فیلتر گذاری Where – آموزش LINQ

  • دوشنبه ۵ مهر ۱۴۰۰
  • بازدید ۹۵۹ نفر

تصویر linq-filtering-operators-where_11064 عملگر فیلتر گذاری Where - آموزش LINQ

عملگر فیلتر گذاری Where

در این بخش عملگر فیلتر گذاری Where در LINQ را بررسی خواهیم کرد. عملگرهای فیلتر گذاری به منظور فیلتر کردن داده ها بر اساس شروط داده شده استفاده می شود. در جدول زیر می توانید کل عملگرهای فیلتر گذاری موجود در زبان LINQ را مشاهده کنید.

عملگر

توضیحات

Whereبر اساس شرط مشخص شده مجموعه از داده ها را باز میگرداند.
OfTypeبر اساس نوع داده مشخص شده مجموعه از داده ها را باز میگرداند.

عملگر Where

عملگر Where بر اساس شرط مشخص شده داده ها را فیلتر کرده و نتیجه را به صورت یک مجموعه جدید باز میگرداند. برای مشخص کردن شرط می توانیم از عبارت لامبدا یا Func استفاده کنیم.

متد افزودنی Where دو overload دارد که هر دو آن ها یک Func به عنوان ورودی دارند. امضای مربوط به این متد افزودنی:

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

کوئری زیر از عملگر Where به منظور پیدا کرد دانش آموزان نوجوان استفاده می کند. در این کوئری از عبارت لامبدا برای مشخص کردن شرط انتخاب استفاده شده است.

زمانی که مثال فوق را اجرا کنید، خروجی زیر را تولید خواهد کرد:

در مثال فوق عبارت لامبدا s.Age > 12 && s.Age < 20 به عنوان Func<TSource, bool> که هر یک از دانش آموزان موجود در لیست را از نظر سن بررسی می کند. مثال فوق را استفاده از یک Delegate هم می توان پیاده‌سازی کرد:

 همچنین می توانیم از یک متد که ورودی و خروجی آن با ورودی و خروجی Fun<TSource, bool> مشابه است نیز استفاده کنیم:

متد افزودنی Where در سینتکس متد

در نمونه زیر می توانید چگونگی استفاده از این متد را مشاهده کنید:

 همانطور که در بالا گفته شد، متد Where دو overload دارد که یکی از آن ها اندیس آیتم جاری را نیز به ما می دهد. برای مثال در نمونه زیر ما از این overload استفاده کرده ایم تا فقط عناصری که اندیس زوج دارند را انتخاب کنیم:

خروجی مثال فوق:

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

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