2017-08-02 153 views
0

請檢查環波紋管。 「BulkScannedItemIds」是幾個ID的數組,其循環來檢索這些產品,並在「singleItems」存儲,但問題是「singleItems」不是數組。這就是爲什麼它沒有持有所有的價值。所以我想要的是將所有值存儲到數組中。請指教我如何使這個(「singleItems」)數組簡單的變量?所以它能夠在運行循環後保存所有值?循環儘管在另一個陣列陣列和存儲值

foreach (var BulkScannedItemId in BulkScannedItemIds) 
{ 
    var singleItems = ctx.BulkScannedItems.Where(x => x.UserSellerScanRequestId == id && x.BulkScannedItemId == BulkScannedItemId).ToList(); 
} 
+0

只要使用'ToArray的() '而不是'ToList()'有一個數組。 並刪除foreach循環,它什麼都不做,慢慢你的應用程序 – Yggraz

回答

2

可以使用LINQ做到這一點沒有循環:

var singleItems = ctx.BulkScannedItems.Where(x => x.UserSellerScanRequestId == id && BulkScannedItemIds.Contains(x.BulkScannedItemId)).ToList() 

編輯:或者,如果你想要一個數組來調用ToArray的,而不是:

var singleItems = ctx.BulkScannedItems.Where(x => x.UserSellerScanRequestId == id && BulkScannedItemIds.Contains(x.BulkScannedItemId)).ToArray() 
+2

旁邊除非你調用'.ToArray()'在這種情況下,它會被轉換爲一個數組...:o – Qpirate