問題タブ [iorderedenumerable]

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 投票する
1 に答える
2357 参照

linq - LinqはIOrderedEnumerableメソッドの後にIEnumerableメソッドをどのように使用しますか?

Linqでは、拡張メソッドWhereはコレクションを返しIEnumerableますが、並べ替えメソッドOrderByはコレクションを返しIOrderedEnumerableます。

したがって、で終わるOrderBy(つまり、を返すIOrderedEnumerable)クエリがある場合、後でメソッドを追加することはできません。Whereコンパイラは、に渡される型について文句を言いWhereます。

ただし、すべてを1つのクエリで実行する場合は、問題ありません。

Reflectorでアセンブリを調べて、コンパイラがいずれかの操作を並べ替えているかどうかを確認しましたが、そうではないようです。これはどのように作動しますか?

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

linq - メソッドがIOrderedEnumerableを返すことは有利ですか?IEnumerableの代わりに

メソッドがIEnumerableではなくIOrderedEnumerableを返すことが有利でしょうか?

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

linq - IOrderedEnumerableおよび防御プログラミング

私は防御的なプログラミングが好きです。私は例外スローが嫌いですが、これは私の質問の主題ではありません。

列名を使用して注文を実行できるように、linQの拡張機能を採用しました

防御プログラミングでは、列名が無効な場合、このメソッドは指定された列挙可能オブジェクトを返します。

次に、ThenByを使用して2次ソートを実行する必要があります。だから私はその署名が必要です:

IOrderedEnumerableを返す必要があります。私の問題は、防御的なプログラミング機能を維持することです。列名が無効である場合、指定されたセットを返す必要があります。

これを行うためのクリーンな方法はありますか?私が考えているのは一種のトリックです:

  • リフレクションを使用して、最初に見つかったプロパティで並べ替えます。これは、プロパティが並べ替えが許可されていない可能性があるため危険です。
  • 独自のIOrderedEnumerableを実装します。これは、IQueryableまたはIListで順序付けを実行し、次に他のLinQ操作を実行するため、リスクもあります。そのため、副作用が心配です。

そしてアドバイス/提案?ありがとう

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

sql-server - Linq-to-SQL でレコードを並べ替えるためのクエリ パフォーマンスを向上させる

クエリを使用して customers という名前のテーブルからレコードを取得しています。レコードをaddress, housenumber, surname, name.

最初にこれを使用しました(DataTable)

今私はこれを使用します:

それはパフォーマンスを向上させる正しい方法ですか...?

OrderedEnumerableRowCollectionvsの (欠点) 利点は何DataTableですか?

これを行う方法を教えてください。

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

c# - IOrderedEnumerable をいつ返すか?

IOrderedEnumerable純粋にセマンティック値の戻り値の型として使用する必要がありますか?

たとえば、プレゼンテーション レイヤーでモデルを使用する場合、コレクションに順序付けが必要か、または既に順序付けられているかをどのように知ることができますか?

ORDER BYリポジトリがストアド プロシージャを句でラップする場合はどうでしょうか。リポジトリは を返す必要がありますIOrderedEnumerableか? そして、それはどのように達成されますか?

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

.net - .NetのIOrderedEnumerable.ThenBy()はどのように機能しますか?

ThenByが.Netでどのように機能するかを理解したいと思います。(私はそれを使用する方法を知っています、私はマイクロソフトがそれをどのように実装したかを理解していません!)

ドキュメントによると、string_list.OrderBy(Function (x) x.length).ThenBy(Function (x) x)文字列のリストを長さ順に出力し、次にアルファベット順に出力する必要があります。どうすればうまくいくでしょうか?!?最初の並べ替えは長さによるものです。2番目の並べ替えでは、最初の並べ替えを元に戻す必要があります。

このコードを想定します:

これが私が使用せずに最後の行を実装しようとしているところですThenBy

ここでいくつかの魔法が起こっています...e.GetPreviousKeySelector()関数はありますか?実際、IOrderedEnumerableを返す関数を作成することすらできません。

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

c# - OrderBy、ThenBy による並べ替え

以前に並べ替えられた列に応じて、テーブルのいくつかの列を並べ替えようとしています。最初の 2 つの列では正常に機能します。しかし、3 番目の列を並べ替えるとすぐに、2 番目の列の並べ替えが失われます。今のところ私の知る限り、foreach ループに問題があるはずです。ソート用のコードは次のとおりです。

何か案は?

更新:さらに情報を追加するかもしれません:

  • @param zusortierendeListe: これは並べ替えたいリストです。オブジェクトのリストです
  • @param sortierung: これは、昇順または降順で並べ替えたい方向です

オブジェクト自体は Tabledata のリストです

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

c# - OrderByを使用せずにIEnumerableをIOrderedEnumerableに変換することは可能ですか?

SortMethod列挙型で指定されたいくつかのタイプの並べ替え(つまり、さまざまなプロパティによる並べ替え)に基づいてIQueryableを並べ替える拡張メソッドがあるとします。

sortMethodisの場合null(つまり、値の順序を気にしないように指定されている場合)、デフォルトのプロパティで順序付けする代わりに、IEnumerator値を「順序付けられた」ものとして渡す方法はありますか?実際の並べ替えを実行する必要がありますか?

この拡張機能を呼び出して、追加のThenBy注文を実行できるようにしたいと思います。

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

c# - IOrderedEnumerable.Select() は要素の順序を保持しますか?

C#では、保持要素順序Select()の要素を射影するために使用しますか?IOrderedEnumerable

  • もしそうなら、どうして ではIEnumerableなく を返すのIOrderedEnumerableですか?
  • そうでない場合、どうすればこれを達成できますか (を使用する以外にforeach)?

この質問は、この質問の複製ではないことに注意してSelect()くださいDistinct()

編集

はい、LINQ to Objects です。ところで、実際に SQL DB をクエリしている場合、答えは異なるでしょうか?

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

c# - IOrderedEnumerable の末尾にコレクションを追加

現在、IOrderedEnumerable にロードする必要がある一連の構成ファイルがあります。現在のアプローチは次のようになります。

問題は、Items同等にする代わりitems.OrderBy(x => x.Attribute("ID").Value)に、現在存在する IOrderedEnumerable の最後に結合したいので、新しい XDocument をロードしてすべての要素を取得するたびに上書きしないことです。どうすればいいですか?

編集:変更すると、これItemsLength += Items.Count();が正しく機能しなくなることはわかっています。それは私が自分で変えるものです。