عملگر شمارشگر Contains – آموزش LINQ

  • سه شنبه ۲۰ مهر ۱۴۰۰
  • بازدید ۳۰ نفر

linq quantifier operator contains 11082 تصویر

عملگر شمارشگر Contains

عملگر Contains در زبان کوئری نویسی LINQ بررسی می کند که آیا یک عنصر خاص در مجموعه وجود دارد یا خیر. در صورت موجود بود true باز میگرداند. متد افزودنی Contains دو overload دارد که در زیر مشاهده می کنید:

در مثال زیر با استفاده از عملگر Contains بررسی می کنیم که آیا مقدار ۱۰ در مجموعه intList وجود دارد یا خیر:

مثال بالا با نوع داده های اولیه به خوبی کار می کند. اما در مورد کلاس های سفارشی این روش کار نمی کند. برای نمونه به مثال زیر توجه کنید:

همانطور که مشاهده می کنید علی‌رغم وجود دانش آموزی با مشخصات std در لیست نتیجه false شده است. علت این است که متد افزودنی Contains فقط رفرنس اشیاء را بررسی میکند نه مقدار آن ها را. بنابراین برای حل این مشکل می توانید از overload دوم متد Contains استفاده کنید که یک IEqualityComparer را به عنوان ورودی دارد، استفاده کنید. در زیر می توانید چگونگی ساخت مقایسه کننده سفارشی را مشاهده کنید:

حال می توانیم از مقایسه کننده سفارشی در مثال فوق استفاده کنیم. نتیجه به این صورت خواهد بود:

توجه! عملگر Contains در سینتکس کوئری پشتیبانی نمی شود.

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

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