• LAMBDA-IFODALARINING BERILISH USULLARI
  • Lambda-ifodasining kelib chiqishi




    Download 1 Mb.
    bet3/9
    Sana13.02.2024
    Hajmi1 Mb.
    #156042
    1   2   3   4   5   6   7   8   9
    Bog'liq
    37-mavzu

    using System;
    using System.Collections.Generic;
    using System.Linq;
    public class Program
    {
    public static void Main()
    {
    var Sonlar = new List<int> {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
    var kvsumma = Sonlar.Select( son=>son * son )
    .Aggregate( (int x, int y) => { return x + y; } );
    Console.WriteLine( kvsumma);
    Console.ReadKey();
    }
    }
    Dastur natijasi:



    Izoh: yuqoridagi kod 1 dan 10 gacha bo'lgan raqamlarning kvadratlari yig'indisini chiqaradi. Birinchi lambda ifodasi ro'yxatdagi raqamlarni kvadratga ajratadi.

    LAMBDA-IFODALARINING BERILISH USULLARI

    Yagona lambda-ifodalari

    Agar lambda ifodasi tanasi bitta ifodadan iborat bo'lsa, unda yagona lambda ifodasi hosil bo'ladi. Bunday holda, ifoda tanasi qavslarga o’ralmagan bo’ladi. Agar lambda ifodasining tanasi katta qavslarga o'ralgan operatorlar blokidan iborat bo'lsa, unda blokli lambda ifodasi hosil bo'ladi. Bundan tashqari, blokli lambda ifoda bir qator operatorlarni o'z ichiga olishi mumkin, Lambda iboralarining ikkala turi ham alohida muhokama qilinadi.



    Yagona lambda ifodasida => operatorining chap tomonida parametr (yoki bir qator parametrlar) o'ng tomonida lambda ifoda tanasi ifodalanadi. Bunday ifodaning qaytish natijasi – lambda operatorini bajarish natijasidir.
    Quyida bitta parametrni oladigan yagona lambda ifodasining umumiy shakli keltirilgan.
    parametr => ifoda
    Agar siz bir nechta parametrlarni ko'rsatishingiz kerak bo'lsa, unda quyidagi shakl ishlatiladi.
    (parametrlar_listi) => ifoda
    Shunday qilib, ikkita yoki undan ko'p parametrlarni ko'rsatish talab qilinganda, ular qavslarga o'ralgan bo'lishi kerak. Agar ifoda parametrlarni talab qilmasa, unda bo'sh qavslardan foydalanish kerak.
    Quyida bitta lambda ifodasining oddiy namunasi keltirilgan.

    x => x + 2


    Ushbu ifodada, x + 2 – ni ishlatadigan parametrdir, natijada parametrlarni hisoblash qiymati 2 ga oshadi. Quyida yagona lambda ifodasining yana bir misoli keltirilgan.

    n => n % 2 == 0



    Lambda ifodasi ikki bosqichda qo'llaniladi. Birinchidan, lambda ifodasi bilan mos keladigan delegat turi e'lon qilinadi, so'ngra lambda ifodasi tayinlangan vakilning misoli keltiriladi. Bu dasturning qaytaruvchi qiymati hisoblanish natijasi hisoblanadi.
    Quyidagi ikkita dastur yagona lambda iboralarini ishlatishni namoyish etadi. Birinchidan, ushbu dasturda ikki turdagi delegatlar e'lon qilinadi. Birinchisida, Incr, int turining argumentini oladi va bir xil turdagi natijani beradi. Ikkinchi vakil IsEven ham int turining argumentini qabul qiladi, lekin bool tipidagi natijani beradi. Keyin, ushbu vakillarning misollariga yagona lambda iboralari beriladi.


    1. Download 1 Mb.
    1   2   3   4   5   6   7   8   9




    Download 1 Mb.