[解決済み】LINQで複数オーダーバイ【重複
2022-04-20 23:54:23
質問
まず、LINQを使ってListで操作したい基本的なクラス、以下のようなものから始めます。
public class FooBar
{
public virtual int Id { get; set; }
public virtual string Foo { get; set; }
public virtual string Bar { get; set; }
}
これは、私が最終的にラムダではないLINQのものを使って私の問題を解決するために見つけたものです。
// code somewhere else that works and gets the desired results
var foobarList = GetFooBarList(); // Abstracted out - returns List<Foobar>
// Interesting piece of code that I want to examine
var resultSet = from foobars in foobarList
orderby foobars.Foo, foobars.Bar
select foobars;
// Iterate and do something interesting
foreach (var foobar in resultSet)
{
// Do some code
}
私が本当に気になるのは、Lambdaベースの拡張メソッドを使って、ジェネリックな
IEnumerable
を使えば、同じことができます。 Googleが教えてくれたのは、以下のようなことをすれば達成できるということです。
var resultSet = foobarList.OrderBy(x => new {x.Foo, x.Bar})
.Select(x=>x);
しかし、そうすると
foreach
ステートメントを使用します。 このエラーは、少なくとも1つのオブジェクトが
IComparible
に無名型を使用しているため、そのように見えるのでしょう。
.OrderBy()
メソッドを使用します。
では、Lambdaの方法を使って、私が望むことを実現する方法はあるのでしょうか?
どのように解決するのですか?
を使用することができます。 次に と 降順(ThenByDescending 拡張メソッドです。
foobarList.OrderBy(x => x.Foo).ThenBy( x => x.Bar)
関連
-
[解決済み] 複数の例外を一度にキャッチする?
-
[解決済み] LINQで複数の "order by "を使用する
-
[解決済み] LINQのGroup by
-
[解決済み] 複数の列でグループ化する
-
[解決済み] DataTableに対するLINQクエリ
-
[解決済み] LINQで.Firstと.FirstOrDefaultを使用するタイミングは?
-
[解決済み] Distinct() with lambda?
-
[解決済み] LINQとLambdaでJoin/Whereを実現する
-
[解決済み】IEnumerable vs List - What to Use? どのように動作するのでしょうか?
-
[解決済み】C#のvarキーワードの使い方
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] エンティティタイプ ApplicationUser は、現在のコンテキストのモデルの一部ではありません。
-
[解決済み】トランスポート接続からデータを読み取れない:既存の接続は、リモートホストによって強制的に閉じられました。
-
[解決済み】C# ASP.NET使用時に「WebClientのリクエスト中に例外が発生しました。
-
[解決済み】非静的メソッドはターゲットを必要とする
-
[解決済み】WPFでXamlファイルにコメントを追加する方法は?
-
[解決済み】Visual Studio: 操作を完了できませんでした。パラメータが正しくありません
-
[解決済み】OnCollisionEnter2Dが実行されない?
-
[解決済み】C#のequal to演算子でtextとvarcharのデータ型は互換性がない
-
[解決済み】2年前のMSDateを把握する【クローズド
-
[解決済み] LINQで複数の "order by "を使用する