IGrouping
をグループ化したKey
を置き換えることはできますか?IGroupingのキーを交換しますか?
私は現在、このような匿名型によってグループ分けしています:
var groups = orders.GroupBy(o => new { o.Date.Year, o.Date.Month });
しかし、今、私のグループ化キーは匿名型です。私は、このグループ化キーを、定義されたタイプ "YearMonth"で置き換えて、オーバーライドされたToString
メソッドで置き換えたいと思います。
public class YearMonth
{
public int Year { get; set; }
public int Month { get; set; }
public override string ToString()
{
return Year + "-" + Month;
}
}
グループ化キーを置き換える方法はありますか?または、新しいグループ化キーを使用して既存のIGroupingから新しいIGroupingを作成しますか?
をあなたが実際に持っていたいキーをグループ化するだけですか? – Servy
代わりに、 'YearMonth'が' Equals'と 'GetHashCode'を適切にオーバーライドしている限り、' o => new YearMonth(o.Date.Year、o.Date.Month) 'を使ってください。少なくともLINQ to Objects用。 –
それは良い理由のために 'readonly'です、後で同じオブジェクトを識別するために使用されたものを変更すべきではありません。 –