[解決済み] Linqでリストから複数のフィールドを選択する
2022-04-28 04:40:03
質問
ASP.NET C#で、構造体を持っています。
public struct Data
{
public int item1;
public int item2;
public int category_id;
public string category_name;
}
で、それらのListがあります。 を選択したい。
category_id
と
category_name
を実行すると
DISTINCT
で、最後に
ORDERBY
で
category_name
.
今あるのはこんな感じです。
List<Data> listObject = getData();
string[] catNames = listObject
.Select(i=> i.category_name)
.Distinct()
.OrderByDescending(s => s)
.ToArray();
これは明らかにカテゴリ名を取得するだけです。 質問は、複数のフィールドを取得する方法と、これをどのようなデータ構造で保存するかということです(not a
string[]
)?
エディション
構造体のリストを使うことは、決まっていない。 もし、selectをより簡単にするために、私のバックデータ構造を変更することが望ましいのであれば(私はこれをたくさん書くつもりです)、私は喜んで提案を受けるでしょう。
解決方法は?
匿名型は、コードの後半で強く型付けされたデータ構造に任意のフィールドを選択することを可能にします。
var cats = listObject
.Select(i => new { i.category_id, i.category_name })
.Distinct()
.OrderByDescending(i => i.category_name)
.ToArray();
後で使うために保存する必要がある(らしい)ので、GroupBy 演算子を使うことができます。
Data[] cats = listObject
.GroupBy(i => new { i.category_id, i.category_name })
.OrderByDescending(g => g.Key.category_name)
.Select(g => g.First())
.ToArray();
関連
-
[解決済み] LINQを使用してList<T>から要素を削除する
-
[解決済み] Pythonのリストメソッドであるappendとextendの違いは何ですか?
-
[解決済み] Pythonの辞書からキーを削除するにはどうしたらいいですか?
-
[解決済み] 複数の例外を一度にキャッチする?
-
[解決済み] 辞書のリストを辞書の値でソートするにはどうしたらいいですか?
-
[解決済み] LINQで複数の "order by "を使用する
-
[解決済み] なぜList<T>を継承しないのですか?
-
[解決済み] SelectとSelectManyの違い
-
[解決済み] LINQのGroup by
-
[解決済み] DataTableに対するLINQクエリ
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 'SubSonic.Schema .DatabaseColumn' 型のオブジェクトをシリアライズする際に、循環参照が検出されました。
-
[解決済み】プロジェクトビルド時のエラー。エディタでスクリプトにコンパイルエラーがあるため、Playerのビルドにエラーが発生する
-
[解決済み】バックスラッシュを含むパス文字列のエスケープシーケンスが認識されない件
-
[解決済み】なぜこのコードはInvalidOperationExceptionを投げるのですか?
-
[解決済み】Moqを使用してメソッド呼び出しを検証する
-
[解決済み】ファイルへの読み書きの際に共有違反のIOExceptionが発生する C#
-
[解決済み】aspNetCore 2.2.0 - AspNetCoreModuleV2 エラー
-
[解決済み] [Solved] .NETでスレッドの終了を待つには?
-
[解決済み】Unityでゲームオブジェクトのすべての子をループスルーして破壊する方法?
-
[解決済み] ミュータブル構造体はなぜ "悪 "なのか?