LINQ - methods
**Linq(Language Integrated Query)** - bu .NET da ma'lumotlar bilan ishlash uchun ishlatiladi. Qulay va tez ishlaydi. Har bir `LINQ` mehtodlariga misollar:
**1.Where** : Bu method bilan shart tekshiriladi.
var numbers = new List<int> { 1, 2, 3, 4, 5, 6 };
var evenNumbers = numbers.Where(n => n % 2 == 0); // {2, 4, 6}
**2.Select** : Bu method return qaytaradi.
var numbers = new List<int> { 1, 2, 3 };
var squares = numbers.Select(n => n * n); // {1, 4, 9}
**3.Count** : Listdagi elementlar soni nechtaligini qaytaradi.
var numbers = new List<int> { 1, 2, 3, 4, 5 };
int count = numbers.Count(); // 5
Shu bilan birga `Count()` ni ichiga shart bersa ham bo'ladi.
int evenCount = numbers.Count(n => n % 2 == 0); // 2
**4.Skip** : Birinchi elemetndan `N` ta elementgacha tashlab qolgan qismini qaytarib beradi.
var numbers = new List<int> { 1, 2, 3, 4, 5 };
var skipped = numbers.Skip(2); // {3, 4, 5}
**5.Take** : Birinchi elemetndan `N` ta elementgacha oladi, qolgan qismini tashlab yuboradi.
var numbers = new List<int> { 1, 2, 3, 4, 5 };
var taken = numbers.Take(3); // {1, 2, 3}
**6.Distinct** : Takrorlangan elementlarni tashlab yuboradi.
var numbers = new List<int> { 1, 2, 2, 3, 3, 3, 4 };
var uniqueNumbers = numbers.Distinct(); // {1, 2, 3, 4}
**7.OrderByDescending** : Berilgan elementlarni eng kattasidan kamayish tartibida tartiblab chiqaradi.
var numbers = new List<int> { 3, 1, 4, 2 };
var sorted = numbers.OrderByDescending(n => n); // {4, 3, 2, 1}
**8.Max** : Berilgan elementlarni eng kattasini topadi.
var numbers = new List<int> { 1, 5, 3, 9, 2 };
int maxNumber = numbers.Max(); // 9
**9.Average** : O'rtacha qiymatni chiqaradi.
var numbers = new List<int> { 2, 4, 6, 8 };
double average = numbers.Average(); // 5.0
**10.GroupBy** : Ro'yxatni Alifbo ro'yxati bo'yicha guruhlarga bo'lib ajratib beradi.
var people = new List<string> { "Ali", "Anvar", "Bobur", "Aziz", "Bahodir" };
var groupedByFirstLetter = people.GroupBy(p => p[0]);
foreach (var group in groupedByFirstLetter)
{
Console.WriteLine($"Harf: {group.Key}");
foreach (var name in group)
{
Console.WriteLine(name);
}
}
**Natijasi**
Harf: A
Ali
Anvar
Aziz
Harf: B
Bobur
Bahodir
**11.First** : Berilgan elementlardan eng birinchisini qaytaradi.
var numbers = new List<int> { 4, 8, 15, 16, 23, 42 };
int first = numbers.First(); // 4
Bu ham `count` ga o'xshab shart bersa bo'ladi. Berilgan usha shart bo'yicha mos keladigan birinchi elementni qaytaradi:
int firstEven = numbers.First(n => n % 2 == 0); // 4