This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English version of the page.

Note: This page has been translated by MathWorks. Click here to see
To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

Create .NET Collections

This example uses two System.String arrays, d1 and d2, to create a generic collection list. It shows how to manipulate the list and access its members. To create the arrays, type:

d1 = NET.createArray('System.String',3);
d1(1) = 'Brachiosaurus';
d1(2) = 'Shunosaurus';
d1(3) = 'Allosaurus';

d2 = NET.createArray('System.String',4);
d2(1) = 'Tyrannosaurus';
d2(2) = 'Spinosaurus';
d2(3) = 'Velociraptor';
d2(4) = 'Triceratops';

Create a generic collection, dc, to contain d1. The System.Collections.Generic.List class is in the mscorlib assembly, which MATLAB® loads automatically.

dc = NET.createGeneric('System.Collections.Generic.List',{'System.String'},3)
  List<System*String> handle

    Capacity: 3
       Count: 0

The List object dc has a Capacity of three, but currently is empty (Count = 0).

Use the AddRange method to add the contents of d1 to the list. For more information, search the Web for System.Collections.Generic and select the List class.

AddRange(dc,d1);

List dc now has three items:

dc.Count

To display the contents, use the Item method and zero-based indexing:

for i = 1:dc.Count
  disp(dc.Item(i-1))
end
Brachiosaurus
Shunosaurus
Allosaurus

Another way to add values is to use the InsertRange method. Insert the d2 array starting at index 1:

InsertRange(dc,1,d2);

The size of the array has grown to seven. To display the values, type:

for i = 1:dc.Count
  disp(dc.Item(i-1))
end
Brachiosaurus
Tyrannosaurus
Spinosaurus
Velociraptor
Triceratops
Shunosaurus
Allosaurus

The first item in the d2 array ('Tyrannosaurus') is at index 1 in list dc:

System.String.Compare(d2(1),dc.Item(1))

The System.String.Compare answer, 0, indicates that the two values are equal.

Related Topics

External Websites