問題タブ [enumerator]
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# - (理論的には)無限の量のアイテムを返す列挙子をどのように設計しますか?
私はこれに似たコードを書いています:
明らかに、このメソッドは決して戻りません。(C#コンパイラはこれを黙って許可しますが、R#は「関数が戻らない」という警告を表示します。)
一般的に言って、列挙を停止する方法を提供せずに、無限の数のアイテムを返す列挙子を提供することは悪い設計ですか?
このシナリオについて特別な考慮事項はありますか?Mem?パフォーマンス?他の落とし穴?
常に終了条件を指定する場合、どのオプションがありますか?例えば:
- 包括的または排他的な境界を表すタイプTのオブジェクト
- a
Predicate<T> continue
(TakeWhile
そうです) - カウント(
Take
そうです) - ..。
Take(...)
/TakeWhile(...)
後に呼び出すユーザーに依存する必要がありますUnfold(...)
か?(既存のLinqの知識を活用しているため、おそらく推奨されるオプションです。)
コードがそのまま(一般的)またはこのパターンの特定の実装としてパブリックAPIで公開される場合、この質問に別の方法で答えますか?
c++ - COM IEnumXxx インターフェイスの for_each?
IEnumUnknown を返す COM オブジェクトがあります。それをSTLスタイルのイテレータに変えるものはありますか? 私はこのようなことができるように:
...または類似?
c# - 一度に2つの配列を反復する方法は?
テキスト ファイルの解析中に 2 つの配列を作成しました。1 番目には列名が含まれ、2 番目には現在の行の値が含まれます。マップを作成するには、両方のリストを一度に反復処理する必要があります。現在、私は次のものを持っています:
これは問題なく機能しますが、私のエレガントな感覚を完全には満足させません。また、配列の数が 2 つよりも多い場合 (私は時々そうしなければなりません)、非常に面倒になります。誰かが別の簡潔なイディオムを持っていますか?
asp.net-mvc - ASP.NET MVCでフォームコレクションを列挙するにはどうすればよいですか?
ASP.NET MVCで FormCollection (system.web.mvc) のすべてのキー/値を列挙するにはどうすればよいですか?
c# - Hashtable から nk/v ペアをコピー
n 個のレコードを持つハッシュテーブルがあります。x と y の間のレコードをコピーして、それらを反復処理する必要があります。
どうすればいいですか?
例:
HT1.Count = 500;
HT2 = HT1[0] - HT1[100];
- 編集 -
ご存知のように、これの理由は、.MSG ファイルから PDF を生成しているためです。12GBのPDFを取得すると問題が発生するという問題がエンドユーザーに発生します:P
PDF を 250 のメッセージに分割してから、新しい PDF を開始する必要があります。したがって、順序は実際には問題ではなく、毎回同じレコードを返すことも重要ではありません。これは 1 回しか行われないためです。
c# - DataSet:列挙子とFindByIdは等しいDataRowを返しません
私のコードの今日の問題はちょっと奇妙で、まだ再現できませんでした。型指定されたデータセット(デザイナーで作成)を使用していて、データテーブルのすべての行をループしています。
時々(!)、主キーを介して検索するときに、返される行が列挙子からの行と等しくない場合があります。これは、問題を再現するために私が書いたコードです。
FindByIdは常に同じ行を返すため、コンソールには行が書き込まれません。これは実際には論理的です。私のプロジェクトのコードでは、いくつかの文字列列を持つ同様のデータセットで、行の約3%(常に同じ行!)ではそうではなく、文字列フィールドの1つは空です:
主キーは唯一の主キーフィールドであるため、FindByIdは生成されたメソッドです。誰かが少しヒントを知っているか、以前に同じ問題を経験したことがありますか?このバグや機能を有効にするのは、私が作成した非常に特殊なケースだと思います。:)
列挙によるキャストでこれが生まれる可能性を考えました。列挙子はDataRow
、生成された型付き行の基本型を処理します。しかし、私はそこで何か問題を見つけませんでした...
乾杯マティアス
ruby - Rubyの早い段階で.each{}の反復をエスケープする
コード:
最初の10個のアイテムを取得してから、「各」ループを終了します。
コメント行を何に置き換えますか?より良いアプローチはありますか?もっとRuby慣用句?
wmi - プロセスに関連付けられた .NET クラスの取得
作成中の WMI 結合プロバイダーの一部として、インスタンス列挙子を作成する必要があります。私が持っているコードは以下です。私がする必要があるのは、プロセスに関連付けられた Class インスタンスを取得することです。何か案は?