Преобразование массивов .NET в массивы ячеек

Преобразование .NET- System.String и System.Object массивы в MATLAB® Массивы ячеек используйте cell функция. Элементы массива ячеек имеют тип MATLAB, ближайший к типу .NET. Для получения дополнительной информации см. раздел Тип .NET для MATLAB Отображения типа.

Для примера используйте Среду .NET System.IO.Directory класс, чтобы создать массив ячеек с именами папок в вашем c:\ папка.

myList = cell(System.IO.Directory.GetDirectories('c:\'));

Преобразование вложенных System.Object Массивы

Преобразование не рекурсивно для System.Object массив, содержащийся в System.Object массив. Вы должны использовать cell функция для преобразования каждой System.Object массив.

Для примера создайте NetDocCell сборка с использованием направлений в Build a .NET Application for MATLAB Examples. Исходный код здесь.

 C # NetDocCell Исходный файл

Загрузите сборку и создайте массив ячеек, mlData.

dllPath = fullfile('c:','work','NetDocCell.dll');
NET.addAssembly(dllPath);
obj = NetDocCell.MyGraph;
mlData = cell(obj.getNewData)

Массив ячеек содержит элементы типа

mlData = 
    [1x1 System.String]    [1x1 System.Object[]]

Для доступа к содержимому System.Object массив, создайте другой массив ячеек mlPlotData.

mlPlotData = cell(mlData{2})

Этот массив ячеек содержит элементы типа

mlPlotData = 
    [1x1 System.String]    [1x1 System.Double[]]

cell Синтаксис функции для System.Object[,] Массивы

Используйте это cell синтаксис функции для преобразования System.DateTime и System.String данные, содержащиеся в System.Object[,] массив в массивы ячеек данных MATLAB,

A = cell(obj,'ConvertTypes',type)

где obj является .NET System.Object[,] массив, и type является одним из следующих:

  • {'System.DateTime'} - Преобразование System.DateTime элементы в MATLAB datetime элементы.

  • {'System.String'} - Преобразование System.String элементы в символьные массивы MATLAB.

  • {'all'} - Преобразуйте все поддерживаемые типы .NET в эквивалентные типы MATLAB.

A - массив ячеек, то есть тот же размер, что и obj массив.

Похожие темы