行方不明のienumerable foreach拡張の奇妙なケース
c#の zip
関数の欠如に関する最近の議論は、関連する質問を引き起こしました:なぜC#は、広く使用されている foreach
extensionメソッドを提供しないのですか? ]インターフェイス? 興味深いことに、リストのみ
がこの機能を含めます。
この省略はパフォーマンスの最適化ですか?それとも、より深い、根本的な理由はありますか? いくつかの理論は、この顕著なギャップを説明しようとします。
内蔵
foreach アドバンテージ
1つの視点は、C#の組み込み
ステートメントがほとんどの反復ニーズに適切に対応することを示唆しています。 その簡潔で読みやすい構文がしばしば好まれます:
foreach (Item item in list)
{
item.DoSomething();
}
list.foreach(item => item.dosomething());
list.ForEach(item => item.DoSomething());
foreach extension の引数
ただし、特定の状況で foreach()
合理化された構文:
「objects.foreach(dosomething);」で示されているように、代表者の呼び出しを単純化します。視点のシフト
foreach()foreach()foreach()の値を認識している人もいます。 この再評価は、Microsoftが将来のフレームワークリリースに標準化された foreach メソッドを追加することを検討するかもしれないことを示唆しています。
ienumerable のこの拡張法がないことは、依然として議論のトピックです。 潜在的な利点を考えると、開発者コミュニティは、このギャップがC#拡張ライブラリで対処されていることを望んで、さらなる開発を予測しています。
。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3