LINQ where statementmetn を使用して特定の foreach ループを書き換える方法は?
List<ItemData> dbItems = _dataService.GetAllItems();
List<ItemModel> modeList = new List<ItemModel>();
foreach (ItemData p in dbItems )
{
ItemModel m = Mapper.ItemDataToModelMap(p);
modeList.Add(m);
}
これを試してみましたが、エラーが発生します: タイプ 'System.Collections.Generic.IEnumerable' を 'System.Collections.Generic.IEnumerable' に暗黙的に変換できません...
var modeList= from m in dbItems
select new {item = Mapper.ItemDataToModelMap(m)
};
編集:これを使用するメソッドはIEnumerableを返す必要があるため、これがエラーの原因です。コードと匿名型の代わりに、戻り値の型を変更しないでください。