0

したがって、次の変数をキャストしようとしています。

IEnumerable<IGrouping<object, object>> GroupedValues;

これに:

IEnumerable<IGrouping<int, int>> GroupedValues;

私はキャストを使ってみました

Convert.ChangeType(GroupedValues, typeof(int));

IEnumerable<IGrouping<int, int>>しかし、変数と比較すると有効な変換のように見えない場合;

4

2 に答える 2

2

反変ではないため、キャストできません-再投影できます(すべてのキーと値がにキャスト可能であると仮定しますint):

var q = GroupedValues.SelectMany(g => g.Select (gv => new {Key = (int)g.Key, Item = (int)gv}))
                     .GroupBy (g => g.Key, g => g.Item);

または、最初のクエリを変更して、キーと項目を区別します。

于 2016-03-03T17:06:49.870 に答える