3

私はDictionary<string,int>それにいくつかの値を持つ を持っています。例えば:

  • "あ", 600
  • "b"、550
  • "c"、400

このリストをフィルタリングして、500 を超える値を維持したいと考えています。C# はあまり使用せず、LINQ も使用したことがありません。これは学ぶ良い機会かもしれないと思いました。だから、私は次のことを試しました:

Dictionary<string,int> someDictionary = new Dictionary();

// Code to populate someDictionary goes here

someDictionary = (Dictionary<string,int>) someDictionary.Where(pair => pair.Value > 500);

これにより、InvalidCastException がスローされます。

タイプ 'WhereEnumerableIterator`1[System.Collections.Generic.KeyValuePair`2[System.String,System.Int32]]' のオブジェクトをタイプ 'System.Collections.Generic.Dictionary`2[System.String,System. Int32]'.

いくつかのキャスト、呼び出しなどを試しました.ToDictionary()。これを正しくキャストする方法や、構文を完全に正しくする方法がわからないようです。正しい方向に私を向けることができますか?お時間をいただきありがとうございます。

4

1 に答える 1