LINQ Cheat Sheet
مرجع سریع پرکاربردترین متدهای LINQ به همراه امضا، مثال و کاربرد — قابل جستجوی درونصفحهای.
فیلتر کردن
| نام | امضا | مثال | خروجی | کاربرد |
|---|---|---|---|---|
| Where | Where(Func<T,bool> predicate) |
| [3, 4, 5] | فیلتر کردن عناصر بر اساس یک شرط |
| OfType | OfType<TResult>() |
| فقط عناصر string | فیلتر بر اساس نوع عنصر |
پروجکشن
| نام | امضا | مثال | خروجی | کاربرد |
|---|---|---|---|---|
| Select | Select(Func<T,R> selector) |
| [2, 4, 6] | تبدیل هر عنصر به مقدار دیگر |
| SelectMany | SelectMany(Func<T,IEnumerable<R>> selector) |
| لیست تخت همه Itemها | تختکردن یک لیست از لیستها |
مرتبسازی
| نام | امضا | مثال | خروجی | کاربرد |
|---|---|---|---|---|
| OrderBy | OrderBy(Func<T,TKey> keySelector) |
| لیست مرتبشده صعودی | مرتبسازی صعودی |
| OrderByDescending | OrderByDescending(Func<T,TKey> keySelector) |
| لیست مرتبشده نزولی | مرتبسازی نزولی |
| ThenBy | ThenBy(Func<T,TKey> keySelector) |
| مرتبسازی چندسطحی | مرتبسازی ثانویه بعد از OrderBy |
تجمیع
| نام | امضا | مثال | خروجی | کاربرد |
|---|---|---|---|---|
| Count | Count(Func<T,bool>? predicate = null) |
| 2 | شمارش عناصر (با یا بدون شرط) |
| Sum | Sum(Func<T,int> selector) |
| مجموع مبالغ | جمع یک فیلد عددی |
| Average | Average(Func<T,decimal> selector) |
| میانگین نمرات | محاسبه میانگین |
| Max / Min | Max(Func<T,TKey>? selector = null) |
| بزرگترین مقدار | پیدا کردن بیشینه/کمینه |
مجموعهای
| نام | امضا | مثال | خروجی | کاربرد |
|---|---|---|---|---|
| Distinct | Distinct() |
| حذف موارد تکراری | حذف عناصر تکراری |
| Union / Except | Union(IEnumerable<T> second) |
| اجتماع/تفاضل دو مجموعه | ترکیب یا تفاضل دو لیست |
عنصر واحد
| نام | امضا | مثال | خروجی | کاربرد |
|---|---|---|---|---|
| First / FirstOrDefault | FirstOrDefault(Func<T,bool>? predicate = null) |
| اولین عنصر مطابق شرط یا default | گرفتن اولین عنصر بدون پرتاب استثنا در نبود مورد |
| Single / SingleOrDefault | SingleOrDefault(Func<T,bool>? predicate = null) |
| دقیقاً یک عنصر یا default | وقتی باید مطمئن شویم حداکثر یک نتیجه وجود دارد |
تقسیمبندی
| نام | امضا | مثال | خروجی | کاربرد |
|---|---|---|---|---|
| Skip / Take | Skip(int count).Take(int count) |
| صفحه سوم با اندازه ۱۰ | صفحهبندی (Pagination) |
سنجش
| نام | امضا | مثال | خروجی | کاربرد |
|---|---|---|---|---|
| Any / All | Any(Func<T,bool>? predicate = null) |
| true / false | بررسی وجود حداقل یک یا همه عناصر مطابق شرط |
| Contains | Contains(T value) |
| true / false | بررسی وجود یک مقدار مشخص |
