Преобразуйте массивы.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 блок с помощью направлений в Создает Приложение.NET для 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 массив.

Похожие темы