Пакет: .NET
Массив для непримитивных типов.NET
массив = NET.createArray (typeName, [m, n, p...])
массив = NET.createArray (typeName, m, n, p...)
array = NET.createArray(typeName,[m,n,p,...])
создает m
-by-n-by-p-by-
...
array
типа typeName
, который является любой полностью определенным именем типа массива.NET (namespace
и имя типа массива) или экземпляр класса NET.GenericClass
, в случае массивов типичного типа. m,n,p,...
является числом элементов в каждой размерности массива.
Синтаксис альтернативы array = NET.createArray(typeName,m,n,p,...)
для создания массива.
Вы не можете задать нижнюю границу массива.
Этот пример создает массив.NET List<Int32>
типичный тип.
genType = NET.GenericClass('System.Collections.Generic.List',... 'System.Int32'); arr = NET.createArray(genType, 5)
arr = List<System*Int32>[] with properties: Length: 5 LongLength: 5 Rank: 1 SyncRoot: [1x1 System.Collections.Generic.List<System*Int32>[]] IsReadOnly: 0 IsFixedSize: 1 IsSynchronized: 0
Этот пример создает зубчатый массив.NET трех элементов.
jaggedArray = NET.createArray('System.Double[]', 3)
jaggedArray = Double[][] with properties Length: 3 LongLength: 3 Rank: 1 SyncRoot: [1x1 System.Double[][]] IsReadOnly: 0 IsFixedSize: 1 IsSynchronized: 0
Значения присвоения:
jaggedArray(1) = [1, 3, 5, 7, 9]; jaggedArray(2) = [0, 2, 4, 6]; jaggedArray(3) = [11, 22];
Доступ к первому значению третьего массива:
jaggedArray(3,1)
ans = 11
Этот пример создает зубчатый массив List<Double>
типичный тип.
genCls = NET.GenericClass('System.Collections.Generic.List[]',... 'System.Double');
Создайте массив, genArr
.
genArr = NET.createArray(genCls,3)
genArr = List<System*Double>[][] with properties: Length: 3 LongLength: 3 Rank: 1 SyncRoot: [1x1 System.Collections.Generic.List`1[][]] IsReadOnly: 0 IsFixedSize: 1 IsSynchronized: 0
Эта команда создает зубчатый массив типа System.Double[][][]
'double'.
netArr = NET.createArray('System.Double[][]', 3)
netArr = Double[][][] with properties: Length: 3 LongLength: 3 Rank: 1 SyncRoot: [1x1 System.Double[][][]] IsReadOnly: 0 IsFixedSize: 1 IsSynchronized: 0