問題タブ [ienumerable]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 遅延リストを集約するための設計パターン
以下のようなプログラムを書いています。
- 指定されたディレクトリで正しい拡張子を持つすべてのファイルを検索します
- Foreach、それらのファイルで特定の文字列のすべての出現箇所を検索します
- 各行を印刷する
これを一連のジェネレーター関数 (yield return
一度に 1 つの項目を呼び出して遅延ロードされたもののみを返すもの) として機能的に記述したいので、私のコードは次のようになります。
これで問題ありませんが、最後にいくつかの統計を出力したいと思います。このようなもの:
問題は、上記のように「純粋な関数」スタイルでコードを記述すると、各項目が遅延ロードされることです。
最後の foreach ループが完了するまで、合計で一致するファイルの数しかわかりません。また、一度に 1 つのアイテムしかyield
編集されないため、コードには以前に見つかったものの数を追跡する場所がありません。LINQ のmatchingLines.Count()
メソッドを呼び出すと、コレクションが再列挙されます。
この問題を解決する方法はたくさん考えられますが、どれもやや醜いようです。これは、人々が以前にやったことがあると思います。これを行うためのベスト プラクティスの方法を示す優れたデザイン パターンがあると確信しています。
何か案は?乾杯
c# - ICollection を返すことの本当の利点は何ですかリストの代わりに?
パブリック API では常に List ではなく ICollection (または IEnumerable) を返す必要があることを言及しているブログ投稿をいくつか読みました。リストの代わりに ICollection を返すことの本当の利点は何ですか?
ありがとう!
asp.net - コレクションへの ASP.Net メニュー コントロールのバインド
このコードを使用して、asp.net メニュー コントロールをコレクションにバインドしようとしていますが、コレクションが IHierarchyEnumerable になったというエラーが表示されます。
これを回避する方法はありますか..
c# - IEnumerableインターフェイス
実装する実装も考慮に入れてIList
実装する理由がわかりません。IEnumerable
IList
ICollection
IEnumerable
c# - IEnumerable の FindLast
FindLast
を実装するコレクションを呼び出したいのですIEnumerable
が、FindLast
でしか利用できませんList
。最善の解決策は何ですか?
c# - C#でループするためにIEnumeratorを使用する必要があるのはいつですか?
コレクションを反復処理するためにforeachループでIEnumeratorを使用することが有利な場合があるかどうか疑問に思いました。たとえば、次のコードサンプルのいずれかを他のサンプルよりも使用したほうがよい場合はありますか?
それ以外の
c# - 関数から IQueryable としての Linq To Sql リターン
わかりました、次の作業を行うことができました
先に進み、プリミティブ ticket_id、title、care_of_email、および filename を含む独自のクラス (myObject) を作成しました。私のlinqステートメントで返すアイテムはどれですか。
私は自分の声明を次のように修正しました
これにより、ジェネリックでタイプセーフになると考えていますが、「メソッドグループ 'AsQueryable' を非デリゲート型 'System.Linq.IQueryable' に変換できません。メソッドを呼び出すつもりでしたか?」というエラーが表示されます。
私がやろうとしていることは可能ですか?
myObject クラスは IEnumerable または IQueryable を実装する必要がありますか?
または、linq の結果セットからオブジェクト MyObject を構築し、関数からオブジェクト MyObject を返すのが最善ですか?
c# - リスト間で自由に変換およびIEnumerable
どうすればaをに変換してList<MyObject>
からIEnumerable<MyObject>
元に戻すことができますか?
リストで一連のLINQステートメントを実行するためにこれを実行したいと思います。Sort()