0

如何在 VB.Net 中为 IEnumerable 类型的整数数组赋值?

我需要添加:

dim id as integer=obj.id

到数组

dim arr As IEnumerable(Of Integer)
4

3 回答 3

1

你不能。IEnumerable(Of T)不提供任何方法或属性来更改枚举中的任何值。

考虑一下为什么你认为你的变量arr需要是 type IEnumerable

  • 如果您IEnumerable从其他地方获得一个实例,您可以将该枚举的内容添加到列表中然后将其他值添加到您的列表中。
  • 或者,即使您出于某种原因想要声明arr为 as IEnumerable,请注意无论如何您都需要实例化一个具体的列表类,您可以在将所有内容隐藏在接口后面以供以后只读访问之前向其中添加值。IEnumerable
于 2013-07-26T13:40:03.553 回答
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)
于 2013-07-26T13:41:24.557 回答
1

你不能。IEnumerable 是一个接口,它不代表一个特定的类。

于 2013-07-26T13:39:20.547 回答