[解決済み] LINQで辞書<T1, T2>を選択する
2022-04-14 21:57:26
質問
キーワードとエクステンション・メソッドを使って、"select" "メソッドで
IEnumerable<T>
をLINQで返す必要があるのですが、一般的な
Dictionary<T1, T2>
というのがあって、それがわからないのです。 私が学んだ例では、以下のような形のものが使われていました。
IEnumerable<T> coll = from x in y
select new SomeClass{ prop1 = value1, prop2 = value2 };
また、拡張メソッドでも同じようなことをしました。
Dictionary<T1, T2>
として反復することができます。
KeyValuePair<T1, T2>
上記の例の "SomeClass" を " に置き換えるだけで良いということです。
new KeyValuePair<T1, T2> { ...
しかし、それはうまくいきませんでした(KeyとValueがreadonlyとしてマークされていたので、このコードをコンパイルすることができませんでした)。
これは可能でしょうか、それとも複数のステップで行う必要があるのでしょうか?
ありがとうございます。
解決方法は?
また、extensionsのメソッドは ToDictionary の拡張機能です。 一般的な使い方は、キーにラムダセレクタを渡し、値としてオブジェクトを取得するというものですが、キーと値の両方にラムダセレクタを渡すこともできます。
class SomeObject
{
public int ID { get; set; }
public string Name { get; set; }
}
SomeObject[] objects = new SomeObject[]
{
new SomeObject { ID = 1, Name = "Hello" },
new SomeObject { ID = 2, Name = "World" }
};
Dictionary<int, string> objectDictionary = objects.ToDictionary(o => o.ID, o => o.Name);
次に
objectDictionary[1]
という値が含まれます。
関連
-
[解決済み】Socket.Selectがエラー "An operation was attempted on something that is not a socket" を返す。
-
[解決済み] LINQで複数の "order by "を使用する
-
[解決済み] C#でHashtableよりDictionaryが好まれる理由とは?
-
[解決済み] SelectとSelectManyの違い
-
[解決済み] LINQのGroup by
-
[解決済み] DataTableに対するLINQクエリ
-
[解決済み] LINQで.Firstと.FirstOrDefaultを使用するタイミングは?
-
[解決済み] LINQ集計アルゴリズム説明
-
[解決済み] LINQを使用して、プロパティ値の最小または最大値を持つオブジェクトを選択する方法
-
[解決済み】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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】プログラム実行中に1秒待つ
-
[解決済み] メンバー '<メンバー名>' にインスタンス参照でアクセスできない
-
[解決済み】ASP.NET Core Dependency Injectionのエラーです。アクティブ化しようとしているときに、タイプのサービスを解決できません。
-
[解決済み] 'SubSonic.Schema .DatabaseColumn' 型のオブジェクトをシリアライズする際に、循環参照が検出されました。
-
[解決済み】プロジェクトビルド時のエラー。エディタでスクリプトにコンパイルエラーがあるため、Playerのビルドにエラーが発生する
-
[解決済み】Unity3DでOnTriggerEnterが動作しない件
-
[解決済み】WPFでXamlファイルにコメントを追加する方法は?
-
[解決済み】値が期待した範囲に収まらない
-
[解決済み】OnCollisionEnter2Dが実行されない?
-
[解決済み】スレッド終了またはアプリケーションの要求により、I/O操作が中断されました。