問題タブ [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 投票する
3 に答える
609 参照

.net - LinqtoSqlクラスをIEnumerableにするにはどうすればよいですか

Linq to SqlクラスIEnumerableまたはオブジェクトIEnumerableをC#3.0で作成するにはどうすればよいですか?

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

c# - LINQを使用してlongの列挙を単一の文字列に変換する方法

long(IEnumerable)の列挙をLINQを使用して単一の文字列(文字列)に変換する簡単でクリーンな方法(1行)があるかどうか疑問に思っていますか?

ありがとう

0 投票する
2 に答える
140 参照

c# - C# で 2 つの IEnumerable の各要素ペアに対して foreach を実行する方法はありますか?

それらをリストに変換し、インデックスを使用して通常の for ループを使用することもできますが、それらを IEnumerables として保持する方法があるかどうか疑問に思っています。

0 投票する
4 に答える
4434 参照

c# - 列挙の高速化: 配列列挙の活用

そのため、内部に配列を持つクラスがあります。現在、クラスのアイテムを列挙するための私の戦略は、コードを使用することですforeach (item x in classInstance.InsideArray). foreach (item x in classInstance)むしろ、配列を使用してプライベートにしたいと思います。私の主な関心事は、遅いものを避ける必要があるということです。配列は頻繁にヒットします (数百の項目があります)。この配列の列挙が安価であることが重要です。1つの考えは、クラスを実装するだけIEnumerable<item>でしInsideArray.getEnumerator()たが、非ジェネリック列挙子しか提供しませんでした。IEnumerableインターフェイスも実装してみました。これは機能しましたが、おそらくボクシングが原因で非常に遅くなりました。

パフォーマンスに影響を与えずにクラス自体を列挙可能にする方法はありますか?

通常コード:

調整された、はるかに遅いコード:

注: 非ジェネリック イテレータの実装を追加することは可能であり、私の遅いソリューションよりも高速ですが、配列を直接使用するよりも少し悪いです。どういうわけかC#に「ねえ、このオブジェクトを反復処理するように頼んだら、配列を反復処理するのと同じくらい速い」と伝える方法があることを望んでいましたが、明らかにそれは不可能です...少なくとも提案された回答からこれまで。

0 投票する
1 に答える
18941 参照

linq - LINQをオブジェクトに適用するGroupByおよびSortByを汎用リストに適用(C#)

一般的なListmyListに対して作業グループBy句とSortBy句を作成するのに苦労しています。myListには、プロパティ「設定」のリストがあり、それ自体に各ビジネスの「子」プロパティのリストが含まれています。

業界ごとにグループ化し、各業界内で会社名で並べ替えたいと思います。私の意図はこれです:

ただし、次のエラーが発生します:' System.Linq.IGroupingには設定の定義が含まれておらず、System.Linq.Igrouping型の最初の引数を受け入れる拡張メソッドSettingsが見つかりませんでした...'注文を呼び出すことができないことを示しますいくつかの変換または追加の処理なしの句による。

私はこれを分割して機能させるためにさまざまなことを試みましたが、何かが欠けています。助けていただければ幸いです

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

vb.net - For Each ループを使用して IEnumerable がアクセスされているかどうかを確認する方法はありますか?

List(TValue) などの IEnumerable があり、このリストがアクセスされているかどうかを追跡したいとします (別のスレッドで反復されている間にリストに追加するなどの問題を防ぐため)。次のようなコードをいつでも書くことができます。

(このコードは非常に恣意的なものですが、私が話していることを示しています。)

私の質問は、上記のようにブール値を手動で更新してアクセスするよりも、このチェックを実行するためのより良い/よりクリーンな方法があるかどうかです。あるに違いないと思いますが、私の知る限り、組み込みの「反復処理中」メソッドまたはプロパティを持つ IEnumerable クラスはありません。そして、IEnumerable を実装し、そのようなプロパティを含む新しいクラスを作成することは、やり過ぎのように思えます。

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

c# - DataTablesとIEnumerable

一緒に仕事をしている別のプログラマーと議論しています。

データベースの戻りタイプの場合、メモリ使用量やパフォーマンスの大きな違い、またはDataSetsとDataTablesの使用を避け、実装するタイプを優先するその他の短所はありますIEnumerable<T>か...またはその逆

IEnumerable<T>( )を実装する型を返す方が好きです。これはList<T>, T[] etc、より軽量で、プロパティにアクセスするときにオブジェクトに強く型付けされ、基になる型などに関するより豊富な情報が得られるためです。データリーダーを手動で使用する場合でも、設定に時間がかかります。

最近DataTablesを使用する唯一の理由は怠惰ですか?

0 投票する
2 に答える
6868 参照

c# - IEnumerable と文字列配列 - 一致する値を見つける

背景: ビュー モデルに MultiSelectList を含む ASP.NET MVC ビュー ページがあります。その MultiSelectList オブジェクトからの SelectedValues のリストをラベルに入力したいと考えています。リストは、IDName のタイプで MultiSelectList 内に格納されます。

したがって、MultiSelectList.Items は IDName のリストを含む IEnumerable です。このリストに対して foreach を実行し、.Name を取得して各エントリの名前を取得できます。しかし、ID が MultiSelectList.SelectedItems にある場合にのみこれを行いたいと思います。これは string[] のように見え、次のようになります。

したがって、IDName.ID が SelectedItems リストにあるときに IDName.Name を取得したいだけです。

私はMVCとC#の両方にかなり慣れていないので、それを行う最善の方法がわかりません。助言がありますか?

更新 #2:

OK、私は密集していました。これは機能します:

SelectedValues は、実際には string[] を含む IEnumerable です。

0 投票する
4 に答える
4459 参照

c# - IEnumerable(Of T)に要素がないかどうかの確認-Linq要素および量指定子演算子

私の機能のために

シーケンスに要素が含まれていない場合、この行はエラーになります(必要に応じて)

以下に変更しました

IEnumerableシーケンスに要素がないかどうかを判断するための、より優れた、より簡単な、またはより洗練された方法はありますか?

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

c# - コレクション内のすべてのオブジェクトに対してメソッドを実行する

Bloops のコレクションから作成された Razzies のコレクションがあります。Linq クエリを使用してこのコレクションを取得します。参照: Linq 特定のプロパティを別のオブジェクトに選択しますか? クエリのために。

for ループを使用せずに、コレクションを返す前、またはその直後に、新しく作成されたすべての Razzies に対してメソッドを実行できるかどうかを知りたいです。

私はこれを試しました:

しかし、それは何も返しません。