将数组转换为列表并添加值

时间:2011-03-29 12:26:02

标签: .net vb.net

我试图通过将数组转换为列表来为数组添加值

Dim oItemSubmit As InventoryService.InventoryItemSubmit

 Dim oAttInfo As New InventoryService.AttributeInfo
 oAttInfo.Name = "FeatName"
 oAttInfo.Value = "value"
 oItemSubmit.AttributeList.ToList().Add(oAttInfo)

AttributeList是AttributeInfo上的一个数组。但代码似乎不起作用。任何想法

由于 Jothish

4 个答案:

答案 0 :(得分:4)

AttributeList.ToList()正在制作副本,而您正在插入副本,而不是插入原始数组

您可以使用Concat添加元素或序列

C#sample

oItemSubmit.AttributeList = oItemSubmit.AttributeList.Concat(new []{oAttInfo}).ToArray();

答案 1 :(得分:0)

oItemSubmit.AttributeList.ToList().Add(oAttInfo)

将元素添加到已创建的临时列表,然后未使用

您需要存储引用,然后添加到它:

Dim myList as List<MyType>
myList = oItemSubmit.AttributeList.ToList()
myList.Add(oAttInfo)

答案 2 :(得分:0)

oItemSubmit.AttributeList.ToList()调用创建了一个List(Of AttributeInfo)类的全新实例,它与原始数组无关,只是它包含来自它的项目。向其添加项目不会向所述数组添加项目。

答案 3 :(得分:0)

试试这个,

oItemSubmit.AttributeList = theNewList.ToArray