• Murakkab obektlarni tanlash
  • Filtrlash To'plamdan shartli ravishda elementlarni tanlash uchun Where




    Download 22,68 Kb.
    bet3/5
    Sana08.09.2024
    Hajmi22,68 Kb.
    #270591
    1   2   3   4   5
    Bog'liq
    15-maruza. LINQ texnologiyalari va operatorlari.

    Filtrlash
    To'plamdan shartli ravishda elementlarni tanlash uchun Where metodidan foydalaning. Masalan, 10 dan katta bo'lgan barcha juft elementlarni tanlaylik.
    LINQ operatorlari bilan filtrlash:

    1
    2
    3
    4
    5
    6
    7

    int[] numbers = { 1, 2, 3, 4, 10, 34, 55, 66, 77, 88 };
    IEnumerable evens = from i innumbers
    where i%2==0 && i>10
    select i;
    foreach(inti inevens)
    Console.WriteLine(i);

    Bu yerda: dan i raqamlar konstruktsiyasi ishlatiladi
    Kengaytma metodi yordamida bir xil so'rov:

    1
    2

    int[] numbers = { 1, 2, 3, 4, 10, 34, 55, 66, 77, 88 };
    IEnumerable evens = numbers.Where(i => i % 2 == 0 && i > 10);

    Agar ma'lum bir element uchun Where usulidagi ifoda to'g'ri bo'lsa (bu holda, i% 2 == 0 && i> 10 ifodasi), unda bu element natijada tanlanishga kiritiladi.
    Murakkab ob'ektlarni tanlash
    Aytaylik, bizda foydalanuvchi sinfi bor:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10

    classUser
    {
    publicstringName { get;set; }
    publicintAge { get; set; }
    publicList Languages { get; set; }
    publicUser()
    {
    Languages = newList();
    }
    }

    Keling, foydalanuvchilar to'plamini tuzamiz va ularning orasidan 25 yoshdan katta bo'lganlarni tanlaymiz:



    List users = newList
    {
    newUser {Name="Тоm", Age=23, Languages = newList {"английский", "немецкий"}},
    newUser {Name="Боb", Age=27, Languages = newList {"английский", "французский"}},
    newUser {Name="John ", Age=29, Languages = newList {"английский", "испанский"}},
    newUser {Name="Elis", Age=24, Languages = newList {"испанский", "немецкий"}}
    };
    var selectedUsers = from user inusers
    where user.Age> 25
    select user;
    foreach(User user inselectedUsers)
    Console.WriteLine($"{user.Name} - {user.Age}");

    Console oynadagi natija:
    Bob-27
    John-29
    Where kengaytmasi metodi yordamida shunga o'xshash so'rov:

    1

    var selectedUsers = users.Where(u=> u.Age > 25);


    Download 22,68 Kb.
    1   2   3   4   5




    Download 22,68 Kb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Filtrlash To'plamdan shartli ravishda elementlarni tanlash uchun Where

    Download 22,68 Kb.