[英]List collection addRange multiple items
到目前為止,我正在使用下面的代碼在列表中添加新項目。
mItems.Add(new TableItemsClass() { Description = sqlReader["Name"].ToString(),InventoryTransTempID = Convert.ToInt32(sqlReader["InventoryTransTempID"]) });
如何使用與AddRange
相同的方法?
mItems.AddRange(new TableItemsClass() { Description = sqlReader["Name"].ToString(),InventoryTransTempID = Convert.ToInt32(sqlReader["InventoryTransTempID"]) });
使用上面的代碼,我遇到以下錯誤:
CS1503 Argument 1: cannot convert from 'WiOrderAndroid.TableItemsClass to System.Collections.Generic.IEnumerable<WiOrderAndroid.TableItemsClass>
AddRange
期望將IEnumerable作為參數,但是您要傳遞T。要解決此問題,只需將其傳遞給列表:
mItems.AddRange(
new List<TableItemsClass>
{
new TableItemsClass()
{
Description = "descr",
InventoryTransTempID == 1
},
new TableItemsClass()
{
Description = "descr",
InventoryTransTempID == 2
}
});
AddRange
采用IEnumerable
,而不是單個元素。 處理此類情況的一種方法是將您的商品包裝在數組中:
mItems.AddRange(new TableItemsClass[] {new TableItemsClass() { Description = sqlReader["Name"].ToString(),InventoryTransTempID = Convert.ToInt32(sqlReader["InventoryTransTempID"]) }});
AddRange用於添加多個Enumerable類型的項目。 new TableItemsClass()
是一個對象。 因此Add
將起作用。 如果您有這些對象的集合,例如List<TableItemsClass>()
則可以使用AddRange()
方法
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.