問題タブ [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.

0 投票する
5 に答える
12194 参照

c# - IEnumerator を返すメソッドを使用できますかforeachループで使用しますか?

フォームのすべてのテキスト ボックスの高さを設定する必要があり、その一部は他のコントロール内にネストされています。私はこのようなことができると思いました:

次のように使用します。

しかしもちろん、foreachはIEnumeratorではなくIEnumerableを想定しているため、コンパイラはダミーを吐き出します。

GetEnumerator()メソッドで別のクラスを作成せずにこれを行う方法はありますか?

0 投票する
22 に答える
299754 参照

c# - IEnumerable での動的 LINQ OrderBy/ IQueryable

VS2008 Examples for Dynamic LINQ で、SQL のような文字列を使用できる例を見つけました(たとえばOrderBy("Name, Age DESC"))、順序付けなど)。残念ながら、含まれているメソッドは でのみ機能します。IQueryable<T>この機能を で取得する方法はありますIEnumerable<T>か?

0 投票する
5 に答える
17282 参照

c# - IEnumeratorインターフェイスをどのように実装しますか?

オブジェクトをオブジェクトにマップするクラスがありますが、辞書とは異なり、両方の方法でマップします。IEnumerator現在、値を反復処理するカスタムインターフェイスを実装しようとしています。

0 投票する
11 に答える
11429 参照

c# - クラスは Foreach を使用するために IEnumerable を実装する必要がありますか

これはC#にあります。他のDLLから使用しているクラスがあります。IEnumerable を実装していませんが、IEnumerator を返す 2 つのメソッドがあります。これらに対して foreach ループを使用する方法はありますか。私が使用しているクラスは封印されています。

0 投票する
3 に答える
527 参照

.net - オブジェクトの結果から IEnumerable を継承する

この質問への回答を投稿しました。最後に、String.Split() が string[] ではなく IEnumerable<string> を受け入れる方法についての非常に短い暴言を含めます。

それは私に考えさせました。他のすべてが継承する基本 Object クラスが IEnumerable の既定の実装を提供し、コレクション クラスなどで何か他のことを行うためにオーバーライドされない限り、すべてが正確に 1 つのアイテム (それ自体) に対して Enumerator を返すようになったとしたらどうでしょう。

String.Split() のようなメソッドが配列ではなく IEnumerable を受け入れた場合、単一の文字列を関数に渡すことができ、セパレーター配列の作成に多くのことをする必要がなく、機能するという考えです。

これを行わない理由はいろいろあると思いますが、少なくともすべてが IEnumerable を実装している場合、実装がデフォルトから逸脱しているいくつかのクラスは、特定のシナリオで予想とは異なる動作をする可能性があります。しかし、それでも楽しい練習になると思いました。他にどのような結果が生じるでしょうか?

0 投票する
8 に答える
8400 参照

c# - FOREACHによって返されるオブジェクトの順序は安定していますか?

同じコレクションに対する2回の反復で、オブジェクトが同じ順序で返されると想定しても安全ですか?明らかに、コレクションは他の方法で変更されていないことを前提としています。

0 投票する
21 に答える
434089 参照

c# - IEnumerable から項目を数えます繰り返さずに?

それらを繰り返して、#n of #m を処理するようなものを書きたいとしましょう。

メインの反復の前に反復せずに m の値を見つける方法はありますか?

私は自分自身を明確にしたことを願っています。

0 投票する
22 に答える
605185 参照

linq - IEnumerable の foreach に相当する LINQ

LINQ で次のようなことをしたいのですが、方法がわかりません。

本当の構文は何ですか?

0 投票する
3 に答える
4522 参照

linq - LINQ2SQL での EntitySet とテーブル クエリのパフォーマンス

LINQ to SQL クラスでは、外部キーEntitySetオブジェクトから作成されたプロパティが を実装しているのにIEnumerable、 上のオブジェクトが を実装してDataContextいるオブジェクトであるのはなぜですか?TableIQueryable

編集:明確にするために、これは私が理解しようとしていることを示す例です。この例:

データベースに 2 回ヒットします。

1 つのクエリのみを実行します。トレースは次のとおりです。

これは、さらに悪いことに、データベースではなく C# レベルで最大化が行われていることも示しています。

IQueryableこれが発生する理由はs とs の違いであることはわかっています。したがって、最初の例のオブジェクトは、後者の例と同じ利点を得るためにインターフェイスを実装IEnumerableしないのはなぜですか。MatchPlayersIQueryable

0 投票する
3 に答える
933 参照

architecture - データ アクセス レイヤー: List<> の公開: 悪い考え?

現在、単純なデータ アクセス レイヤーをコーディングしていますが、他のレイヤーにどの型を公開する必要があるのか​​疑問に思っていました。

Data を List<> として内部的に実装する予定ですが、不要な場合は List 型を消費者に公開しないことについて読んだことを覚えています。

理由を知っていますか (Google は役に立ちませんでした)。あなたは通常、そのようなもののために何を公開しますか? Iリスト? IEnumerable?