«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Почему у C# нет метода расширения Foreach для Ienumerable?

Почему у C# нет метода расширения Foreach для Ienumerable?

Опубликовано в 2025-02-06
Просматривать:154

Why Doesn't C# Have a ForEach Extension Method for IEnumerable?

любопытный случай пропущенного Ienumerable Foreach Extension

]

недавнее обсуждение отсутствия C# функции Zip вызвало связанный вопрос: почему C# не предоставляет foreach метод расширения для широко используемого ienumerable интерфейс? Интересно, только list включает эту функциональность.

разворачивает загадку

]

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

]

встроенный foreach advance

]

одна перспектива предполагает, что встроенный C #'s foreach оператор адекватно отвечает большинству потребностей итерации. Его краткий и читаемый синтаксис часто предпочтительнее:

]
foreach (Item item in list)
{
    item.DoSomething();
}

это контрастирует с более словесным синтаксисом метода расширения:

list.ForEach(item => item.DoSomething());
]

аргументы для foreach extension

, однако, другие утверждают практические преимущества метода foreach () расширения в конкретных ситуациях. Эти преимущества включают:

]
    ]
  • улучшенный тип Safety: метод расширения предлагает проверку типа с компиляцией, в отличие от проверки времени выполнения foreach .
  • Striplined Syntax: он упрощает призыв делегатов, как продемонстрировано "Objects.foreach (dosomething);".
  • Потенциал цепочки метода: , в то время как потенциально подверженным чрезмерному использованию, способность цепорить foreach () вызовы - убедительное преимущество.
  • ]
]

сдвиг в перспективе

]

Первоначально сомнительно, некоторые теперь распознают значение A foreach () метод расширения в определенных сценариях. Эта переоценка предполагает, что Microsoft может рассмотреть возможность добавления стандартизированного foreach в будущих выпусках структуры.

]

отсутствие этого метода расширения для ienumerable остается темой для обсуждения. Учитывая потенциальные преимущества, сообщество разработчиков ожидает дальнейших событий, надеясь увидеть этот пробел, рассматриваемый в библиотеке расширения C#.

]
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3