How to C# Professional. Ключевое слово yield.

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

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

  • @sudorat4573
    @sudorat4573 Год назад +10

    Yield в C# - это ключевое слово, которое используется для создания итераторов. Итератор - это объект, который позволяет перебирать элементы последовательности по одному.
    Когда вы используете yield, вы создаете метод, который может быть использован для перебора элементов последовательности. Вместо того, чтобы возвращать все элементы сразу, метод возвращает каждый элемент по очереди, когда его запрашивают.
    Например, если у вас есть список чисел, вы можете создать итератор, который будет перебирать каждое число по очереди. Каждый раз, когда вы вызываете метод итератора, он вернет следующее число в списке.
    Вот как может выглядеть простой пример использования yield:
    public IEnumerable GetNumbers()
    {
    yield return 1;
    yield return 2;
    yield return 3;
    }
    Этот метод возвращает объект типа IEnumerable, который можно использовать для перебора чисел 1, 2 и 3. Когда вы вызываете метод GetEnumerator на этом объекте, он вернет итератор, который будет возвращать каждое число по очереди.
    Надеюсь, это объяснение помогло понять, что такое yield в C#.

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

    тема не раскрыта. Не описывается зачем использовать его и какие плюсы и минусы. Почему он часто используется

  • @hz5012
    @hz5012 3 года назад +15

    Прости, но объяснения здесь, в этом видео, нет, от слова совсем. Ты указал частный пример использования всего лишь

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

      все понятно же, yield return возвращает элементы в колекцию (ты можешь применить к ним выборку если хочешь)

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

      @@vlpalamar8639 и только ? Мда. Учите матчасть, ребята

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

      @@hz5012 жай линк плез на более обширную информацию, я почитаю

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

      @@vlpalamar8639 в движке юнити корутины, как пример использования не только для формирования коллекций

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

      @@hz5012 я рад за движок юнити но мне он сейчас не нужен

  • @oleksii5138
    @oleksii5138 7 лет назад +1

    В идеале еще бы рассказать про Disposable

    • @ITVDN
      @ITVDN  7 лет назад

      Благодарим за пожелание, передали его в отдел разработок!

  • @elkhanisayev7964
    @elkhanisayev7964 7 лет назад +1

    Спасибо.

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

    Скажите пожалуйста, никак не могу это понять, почему мы и IEnumerable и IEnumerator указываем как типы данных?
    вообще не понимаю как мы в качестве типа данных указываем интерфейс? как это так, интерфейс же можно только наследовать/реализовывать

    • @_mirai
      @_mirai 2 года назад +2

      Ну как бы... а для чего его реализовывать, если его применять нельзя? Говоря простым языком, ты как бы заключаешь контракт, что в этой переменной должен быть объект, реализующий этот интерфейс. Все как с наследованием. Иначе смысла в интерфейсах почти нет

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

      @@_mirai спасибо