我想上傳ASP.NET網站的多個文件。因此,我有以下簡單的例子:此LINQ查詢是否會枚舉整個枚舉?
public ContentResult UploadFiles(IList<HttpPostedFileBase> files)
{
if (files == null ||
!files.Any())
{
// Nothing uploaded.
return Content("No files where uploaded.");
}
myService.UploadCsvFilesToDatabaseAsync(files.Select(x => x.InputStream));
return Content("Success!");
}
聲明本:myService.UploadCsvFilesToDatabaseAsync(files.Select(x => x.InputStream)
我不希望通過在這一點上文件枚舉..但後來當我內那個方法。
那麼,files.Select(x => x.InputStream)
做任何枚舉在這一點上?或者它只是傳遞一個新的集合,其中包含每個輸入流的開始,準備枚舉。
說明:我不想從文件在這一點讀取任何數據,但稍後在裏面,該方法。
看起來不應該枚舉。有一點調試可以確認,只需在lambda中放置一個斷點,然後在該方法內部放置一個斷點,並查看哪一個首先被擊中...... –
它不會完成整個列表......但''。如果有的話,任何()都會帶第一個項目。 –