"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > C#이 ienumerable에 대한 Foreach Extension 방법을 가지고 있지 않은 이유는 무엇입니까?

C#이 ienumerable에 대한 Foreach Extension 방법을 가지고 있지 않은 이유는 무엇입니까?

2025-02-06에 게시되었습니다
검색:277

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

누락 된 ienumerable foreach Extension

의 호기심 많은 사례.

C#의 zip 함수의 부족에 대한 최근의 논의는 관련 질문을 불러 일으켰습니다. C#이 널리 사용되는 ienumerable foreach 확장 방법을 제공하지 않는 이유 인터페이스? 흥미롭게도 목록 만이 기능을 포함합니다.

미스터리를 풀고

이 누락은 성능 최적화입니까? 아니면 더 깊고 근본적인 이유가 있습니까? 몇몇 이론은이 눈에 띄는 격차를 설명하려고 시도한다.

내장 된 foreach Advantage

한 가지 관점은 C#의 내장 된 foreach 문이 대부분의 반복 요구를 적절하게 해결한다는 것을 시사합니다. 간결하고 읽기 쉬운 구문이 종종 선호됩니다 :

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

이것은 확장 방법의 더 장악 된 구문과 대조됩니다 :

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

foreach 확장자

에 대한 인수

    그러나 다른 사람들은 특정 상황에서
  • foreach () 확장 방법의 실질적인 이점을 주장합니다. 이러한 혜택은 다음과 같습니다.
  • 개선 된 유형 안전 :
  • 확장 방법은 foreach 문의 런타임 확인과 달리 컴파일 타임 유형 확인을 제공합니다.
  • 간소화 된 구문 : "objects.foreach (dosomething); 에서 보여준대로 대의원 호출을 단순화합니다.
  • 메소드 체인 잠재력 :
잠재적으로 남용하기 쉬운 동안

foreach () 호출을 연쇄하는 능력은 매력적인 이점입니다.

관점의 변화 처음에는 의심스럽고 일부는 특정 시나리오에서

foreach ()

확장 메소드의 값을 인식합니다. 이 재평가는 Microsoft가 향후 프레임 워크 릴리스에서 표준화 된 foreach 메소드를 추가하는 것을 고려할 수 있음을 시사합니다.

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

에 대한이 확장 방법이 없으면 토론의 주제입니다. 잠재적 인 이점을 감안할 때 개발자 커뮤니티는 C# 확장 라이브러리 에서이 격차가 해결되기를 희망하면서 추가 개발을 예상합니다.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3