NET5 | yield | yield return | yield break | IEnumerable

Поделиться
HTML-код
  • Опубликовано: 12 янв 2025

Комментарии • 31

  • @serdarymz
    @serdarymz 3 года назад +3

    Daha önce bu konuyu farklı eğitimcilerden dinlemiştim yalnız sizden dinlemek çok verimli oluyor hocam. Teşekkürler :)

    • @TechBuddyTR
      @TechBuddyTR  3 года назад +1

      Çok teşekkür ederim. Umarım faydalı olmuştur

  • @esrahuzmeli5473
    @esrahuzmeli5473 3 года назад +3

    Uzun zamandır araştırmak istediğim bir konuydu. Emeğinize sağlık.

  • @burakozler
    @burakozler 5 месяцев назад +1

    Harika Anlatım.. Çok güzel emek..

  • @Yağız_Kerem
    @Yağız_Kerem 2 года назад +2

    Teşekkürler hocam mükemmel anlatıyorsunuz ve eğitimleriniz çok kaliteli

    • @TechBuddyTR
      @TechBuddyTR  2 года назад

      Çok teşekkür ederim. Umarım faydalı olur içerikler

  • @user16242
    @user16242 Год назад +1

    Emeklerinize sağlık, teşekkürler.

  • @muhammedmustafavanl9463
    @muhammedmustafavanl9463 3 года назад +4

    Salih hocam elinize sağlık like attım

  •  3 года назад +3

    Eline sağlık hocam :)

    • @TechBuddyTR
      @TechBuddyTR  3 года назад +2

      Teşekkür ederim. İyi seyirler.

  • @teknolojiuzmaniburada
    @teknolojiuzmaniburada 3 года назад +4

    Hocam hemen söylemeliyim ki, bildirimlerde Tech Buddy kanalını görünce her yanım umutla kapanıyor. Emeğinize sağlık. Çok çok teşekkür ederim.

    • @TechBuddyTR
      @TechBuddyTR  3 года назад +3

      Çok teşekkür ederim :-) Umarım faydalı oluyordur içerikler ve beklediğinize değiyordur.

    • @teknolojiuzmaniburada
      @teknolojiuzmaniburada 3 года назад

      @@TechBuddyTR Tekrar selamlar hocam. Videoyu şimdi izleme imkanı buldum. Dün bildirim geldiği gibi beğenip yorum yapmıştım içinin dopdolu olacağından emin olduğum için. Dopdoludan daha öteymiş :) Bu konuyu hiç bu seviyede dinleyip öğrenememiştim şu ana kadar. Yield kullanımı hiç bilmiyordum. Ama keşke dün izleseymişim. Dün yazdığım bir kodda IEnumarable ve ICollection kullanmak istedim ama o an bilememiştim. İzleseydim tüm sorularıma cevap alacakmışım :) ICollection ve IEnumerable arasındaki farkı hala anlayamış olsam da bu video beni IEnumarable hakkında fazlasıyla aydınlattı. Çok çok teşekkür ederim. Kesinlikle içerikler çok faydalı. Hatta videolarınızı izlerken hiç bitmesin istiyorum. Acaba şimdi ne öğretecek ne tür püf noktalar verecek diye sabırsızlıkla izliyorum :) Emeğinize sağlık.
      Hala cevabını bulamadım bir kaç soru sormak istiyorum. Şayet uygunluğunuz olursa bunlarla ilgili de bir video çekebilirseniz çok mutlu olurum.
      1- IEnumarable ve ICollection arasındaki farklar nedir? Mülakatlarda Collectionlar nedir, ne işe yarar, ne tür özellikleri vardır diye soruyorlar. Cevap veremiyorum nette okuduğım makalelerden ezber dışında. Siz anlatırsanız mantığını anlamış halde cevap verip uygulamalarımda kullanabilirim.
      2- Ben genelde delay için Thread kullanırım. Siz Task kullandınız. Bu ikisi arasındaki farklar nedir? Await Async Wait kullanımları arasındaki farklar nedir? Apilerde ağırlıklı olarak kullandığımız şeyler bunlar. Ancak benim takıldığım yerler var hala. Örneğin apide bir metodu async yapınca frontend tarafında (Winforms (en çok bunu kullanıyorum) , AspNetCoreMvc) ne şekilde çağırmam gerektiğini bilmiyorum. Genelde desktop uygulamaları geliştiriyorum. Formlarda anlık değer değişimi gerektiğinde BeginInvoke(new Action(() => .......)); gibi bir kullanım yapmak zorunda kalıyorum. Bu durumda threadlerle ilgili bir çok sorun yaşıyorum. Bruteforce oluyor yazdığım kodlar.
      3-Bir software architect ve princible arasında ne farklar vardır. Mimar ve Princible olmak için minimum bilinmesi gerekenler nedir. Hangi seviyede bilgimizin olması gerekiyor?
      Teşekkür ederim :)

  • @yusufcirakkk
    @yusufcirakkk 2 года назад +1

    Hocam merhaba, 19:44 de yazmış olduğunuz GetOddNumbers'ı tıpkı sizin ettiğiniz gibi debug ettim. Program numbers değişkenini geçtikten sonra değişkenin içerisi EnumerablePartition türünde oluyor ve itere edeceğimiz bütün değerleri içerisinde barındırıyor, ben ise önce kontrollerin yapılıp sonra koleksiyonun içerisinin dolmasını bekliyordum. Devamında ise counter'ın tek tek arttırıldığını ve if kontrollerinin de her defasında yapıldığını gördüm.

    • @TechBuddyTR
      @TechBuddyTR  2 года назад

      Normalde debug IEnumerable belli metodlar tarafından tetiklenene kadar içerisi çalışmayan bir yapı. Ama bir debug ettiğimizde işin rengi değişiyor. O yüzden Debug edildiğinde IEnumerable tetiklenmiş gibi yapılsın diye temp bir Enumerable kullanılıyor olabilir. Siz de o yüzden Debug ederken bunu bu şekilde görmüş olabilirsiniz.

  • @sertac9756
    @sertac9756 2 года назад +1

    23:03'te Ünal'a biraz ayıp oldu :)

    • @TechBuddyTR
      @TechBuddyTR  2 года назад

      O benim gerçekten arkadaşım :) sorun yok o yüzden

  • @aliozsahin7337
    @aliozsahin7337 2 года назад +1

    Hocam videolarınızı bişeyler öğrendikçe geri dönüp, haa böylemiymiş diyerek tekrar tekrar izliyorum :) emeğiniz için öncelikle teşekkür ederim. Bir sorum olacak. Ef'de mesela ToList dediğimizde sorgu atılıyor Ram'a alınıyor. IQueryable bir nesneye istediğimiz where clause'ları ekleyip öyle çektirebiliyoruz. List bir IEnumerable. Peki AsEnumerable() dersek nasıl çalışır.
    Yani var ogrenci = context.Student.AsEnumerable();
    ogrenci.where(i=> i.Name=="Ali").ToList()
    desem yine bütün liste ramde mi olur yoksa numarator sadece alileri mi alır

    • @TechBuddyTR
      @TechBuddyTR  2 года назад +1

      Evet AsEnumerable() dediğimiz zaman da (filtreden önce çalışacağı için) tüm kayıtlar belleğe alınacaktır.
      AsEnumerable bize bir filtre mekanizması sağlamıyor, sadece yield return kullanarak o anlık değil ihtiyaç halinde o verinin return edilmesini sağlıyor. context.Student.AsEnumerable(); bu satır çalıştığında tüm Student tablosu içindeki datalar daha sonradan kullanılmak üzere bekletiliyor. Biz tolist veya getEnumerator().Next dediğimizde bu sefer tüm dataların yüklenmesi süreci başlıyor.

    • @aliozsahin7337
      @aliozsahin7337 2 года назад +1

      @@TechBuddyTR teşekkür ederim hocam. Teorikte bildiğim bir konuydu ancak şuan netleşti 😀

    • @tarkbugra
      @tarkbugra Год назад

      @@TechBuddyTR Hocam aklıma takılan bir şey oldu.
      List numbers = new() { 1, 2, 3, 4, 5 };
      var greaterThanTwo = numbers.Where(number => number > 2);
      numbers.Add(6);
      var result = greaterThanTwo.TakeLast(1);
      Console.WriteLine(string.Join(',', result));
      IEnumurable datayı bekletiliyor ve ihtiyaç halinde sonradan yürütülüyor demişsiniz yukarıda. Burada ekrana 6 yazdırmasının sebebi nedir. Biz daha bellekteki dataya ihtiyaç duymadan o şarta bağlı olan datayı değiştirdiğimiz için mi eklemiş oluyor.

    • @nitrogenius
      @nitrogenius 4 месяца назад

      @@tarkbugra verdiğin örnekde numbers ve greaterThanTwo reference tipleri, bellekte aynı yeri gösteriyorlar, numbers'e eklediğin sayı greaterThanTwo 'a da ekleniyor

  • @ilhandemirtepe8335
    @ilhandemirtepe8335 4 месяца назад

    Selam listeleme yaparken try catch icinde yield nasil kullaniliyor

    • @TechBuddyTR
      @TechBuddyTR  4 месяца назад

      Tam olarak anlayamadım sorunuzu, biraz daha açabilir misiniz?

  • @slymn9952
    @slymn9952 Год назад

    var OddNumbers= Generator.GetOddNumbers();
    burada Generator sınıfı obje örneği alınmadan nasıl çağrılabildi hocam?

    • @slymn9952
      @slymn9952 Год назад +1

      Neyse buldum hocam Static metod uygulandığı için. :)

  • @erdiunal9330
    @erdiunal9330 3 года назад +3

    yorum