Linqを使用してList<Application>
をフィルタリングして、そのリスト内の2つのフィールドを連結して結果を返し、そのリストを呼び出し元のメソッドに戻す必要があります。IEnumerable <AnonymousType>をリスト<T>に変換する方法はありますか
Linqフィルタリングの結果はなので、返すことはできません。戻り値の型はList<Application>
です。
私が最初に試すなかったことToListメソッドメソッドを使用してIEnumerableを変換することですが、それはコンパイラエラーがスローされます。
IEnumerable does not contain a definition for ToList()
質問:
がどのように変換するかにIEnumerableををキャストすることができますリスト ?
コード:この割り当ては二つのフィールドを連結し、それをリストとして返すようにリスト上で行わ
:以下
var filteredAppList = applicationList.Select(c => new { c.RID, RID_APP_FIELD = c.RID + " " + c.BusinessFriendlyName });
そして私はとしてのIEnumerableを返すようにしようとする方法ですリスト:
return filteredAppList.ToList<Application>();
なぜアプリケーションクラスに変換しようとしていますか? –
あなたのオブジェクトはどれも* 'Application'オブジェクトではありません。それらは匿名型のインスタンスです。基本的に '.Select(x =>新しいアプリケーション{RID = x.RID、...})'などを手動で行うか自動化するか、 'Application'インスタンスが必要な場合、なぜ匿名型に切り替えるのですか? –
'RID_APP_FIELD'は' Application'のプロパティですか?そうでない場合は、このようにToStringをオーバーライドする必要があります: 'return RID +" "+ BusinessFriendlyName'。次に、新しいインスタンスを作成する必要はありませんが、 'applicationList.Where(conditions).ToList()'を返すことができます。 –