Как назначить значение целочисленному массиву IEnumerable в VB.Net?Назначение значения для типа IEnumerable integer
Мне нужно добавить:
dim id as integer=obj.id
в массив
dim arr As IEnumerable(Of Integer)
Как назначить значение целочисленному массиву IEnumerable в VB.Net?Назначение значения для типа IEnumerable integer
Мне нужно добавить:
dim id as integer=obj.id
в массив
dim arr As IEnumerable(Of Integer)
Вы не можете. IEnumerable(Of T)
не предоставляет никаких методов или свойств для изменения каких-либо значений в перечислении.
Подумайте, почему вы думаете, что ваша переменная arr
должна быть типа IEnumerable
.
IEnumerable
экземпляр из других, вы можете добавить содержимое этого перечисления в list и затем добавить дополнительные значения в список.arr
, как IEnumerable
по какой-то причине, обратите внимание, что вам нужно создать экземпляр конкретного класса списка в любом случае, к которому вы можете добавить значения перед тем скрывается все позади интерфейсом IEnumerable
для последующего использования только для чтения доступ.Вы не можете. IEnumerable - это интерфейс, он не представляет собой определенный класс.
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)
Не уверен, что вы имеете в виду - вы просите добавить это значение к каждому элементу массива? – Deeko