FrameListというカスタムオブジェクト(PONO)の配列があり、orderByとGroupByを使用して並べ替えとグループ化を行うことができます。しかし、今度は辞書を返したいのですが、エラーが発生します。
(ところで、エラーはありません。.ToDictionary()メソッドを削除します。)
エラー1'System.Linq.IGrouping'に'type'の定義が含まれておらず、タイプ'System.Linq.IGrouping'の最初の引数を受け入れる拡張メソッド'type'が見つかりませんでした(usingディレクティブまたはアセンブリリファレンス?)C:\ Users \ ysg4206 \ Documents \ Visual Studio 2010 \ Projects \ Watson \ CatalogServiceClasses \ BuildToby.cs 21 38 Watson
並べ替えとグループ化を行うスニペットは次のとおりです。
var dict = request.FrameList.OrderBy(f => f.trueDate)
.GroupBy(f => f.type)
.ToDictionary(f => f.type, f => f);
これがFrameList(FrameDataの単純な配列)の定義です。
[DataContract]
public class FrameData
{
[DataMember]
public String idx { get; set; }
[DataMember]
public String type { get; set; }
[DataMember]
public String path { get; set; }
[DataMember]
public String date { get; set; }
[DataMember]
public DateTime trueDate { get; set; }
}