如何在VB.Net中为IEnumerable类型的整数数组赋值?
我需要添加:
dim id as integer=obj.id
到数组
dim arr As IEnumerable(Of Integer)
答案 0 :(得分:1)
你做不到。 IEnumerable是一个接口,它不代表特定的类。
答案 1 :(得分:1)
你做不到。 IEnumerable(Of T)
没有提供任何方法或属性来更改枚举中的任何值。
考虑为什么您认为变量arr
必须属于IEnumerable
类型。
IEnumerable
个实例,则可以将该枚举的内容添加到list,然后将其他值添加到您的列表中。arr
声明为IEnumerable
,请注意您无论如何都需要实例化一个具体的列表类,您可以在>之前添加值 em>隐藏IEnumerable
接口后面的所有内容,以便以后进行只读访问。答案 2 :(得分:1)
IEnumerable
是一个界面,您无法初始化它。您必须实例化一个具体类型,例如List,并使用类似IEnumerable
的抽象类型保留声明。这样做可以保护集合不受写入操作的影响,但是当您想要执行此操作时,必须将集合强制转换为允许添加,删除值的具体类型。样本:
'get value
Dim id as Integer = obj.id
' create your collection and init it with a concrete type
Dim arr As IEnumerable(Of Integer) = new List(Of Integer)
'add in your collection
CType(arr, List(Of Integer).Add(id)