مقدمه
در درس قبل، دیدیم که چگونه میتوان با استفاده از LINQ به راحتی روی آرایهها کوئری زد. قدرت واقعی LINQ در این است که این تکنولوژی محدود به آرایهها نیست. از آنجایی که تمام عملگرهای LINQ به عنوان متدهای بسطی بر روی اینترفیس IEnumerable<T> تعریف شدهاند، ما میتوانیم از دقیقاً همان سینتکس و همان عملگرها برای کوئری زدن روی هر نوع کالکشن جنریکی که این اینترفیس را پیادهسازی میکند، استفاده کنیم. این شامل List<T>، Dictionary<TKey, TValue> و دیگر کالکشنهای استاندارد .NET میشود. در این درس، با اعمال کوئریهای LINQ بر روی یک کالکشن List<T> از اشیاء سفارشی، این مفهوم را به صورت عملی بررسی میکنیم.