每次我必須返回一個集合,我已經返回一個List。我剛剛讀過,我應該返回IEnumerable或類似的接口(例如IQueryable)。效率的損失是否值得返回IEnumerable而不是List?
我看到的問題是我經常想用列表工作。爲此,我必須對返回的結果執行.ToList()
。
例
//...
List<Guid> listOfGuids = MyMethod().ToList();
//...
public IEnumerable<Guid> MyMethod()
{
using (var context = AccesDataRépart.GetNewContextRépart())
{
return context.MyTable.ToList();
}
}
正在執行.ToList()
兩次的權利實踐。
爲什麼在MyMethod中調用ToList?您可以直接返回context.MyTable ... –
否@Thomas,上下文將被丟棄,並且MyTable將不可查詢 – Moho
如果要將結果用作列表,只需返回列表對象。你可以使用'IList'作爲返回類型。 –
Moho