C# 循环遍历数组并将值存储在另一个数组中

C# 循环遍历数组并将值存储在另一个数组中,c#,C#,请检查下面的回路。“BulkScannedItemId”是一个具有少量ID的数组,它循环检索这些产品并存储在“singleItems”中,但问题是“singleItems”不是一个数组。这就是为什么它不持有所有的价值观。所以我想要的是将所有值存储到一个数组中。请告诉我如何将此(“singleItems”)简单变量设置为数组?那么在运行循环后它将能够保存所有值 foreach (var BulkScannedItemId in BulkScannedItemIds) { var singl

请检查下面的回路。“BulkScannedItemId”是一个具有少量ID的数组,它循环检索这些产品并存储在“singleItems”中,但问题是“singleItems”不是一个数组。这就是为什么它不持有所有的价值观。所以我想要的是将所有值存储到一个数组中。请告诉我如何将此(“singleItems”)简单变量设置为数组?那么在运行循环后它将能够保存所有值

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

您可以在不使用LINQ循环的情况下执行此操作:

var singleItems = ctx.BulkScannedItems.Where(x => x.UserSellerScanRequestId == id && BulkScannedItemIds.Contains(x.BulkScannedItemId)).ToList()
编辑:或者如果您想改为对阵列进行阵列调用:

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

您可以在不使用LINQ循环的情况下执行此操作:

var singleItems = ctx.BulkScannedItems.Where(x => x.UserSellerScanRequestId == id && BulkScannedItemIds.Contains(x.BulkScannedItemId)).ToList()
编辑:或者如果您想改为对阵列进行阵列调用:

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

除非您调用
.ToArray()
,在这种情况下,它将转换为数组…:如果不调用
.ToArray()
,则会将其转换为数组…:对于数组,必须使用
ToArray()
而不是
ToList()
。删除foreach循环,它除了减慢应用程序的速度外,什么都不做。只需使用
ToArray()
而不是
ToList()
来创建数组。删除foreach循环,除了减慢应用程序的速度外,它什么也不做