.NET 配列の cell 配列への変換
.NET の配列 System.String および配列 System.Object を MATLAB® の cell 配列に変換するには、関数 cell を使用します。cell 配列の要素は .NET 型に最も近い MATLAB 型です。詳細については、.NET 型の MATLAB 型へのマッピングを参照してください。
たとえば、.NET の System.IO.Directory クラスを使用して、c:\ フォルダーにあるフォルダー名の cell 配列を作成します。
myList = cell(System.IO.Directory.GetDirectories('c:\'));入れ子形式の System.Object 配列の変換
変換は配列 System.Object 内に含まれる配列 System.Object に対して再帰的ではありません。関数 cell を使用して、各配列 System.Object を変換しなければなりません。
例として、MATLAB 例での .NET アプリケーションのビルドの指示に従って NetDocCell アセンブリをビルドします。ソース コードは次のとおりです。
アセンブリを読み込み、cell 配列 mlData を作成します。
dllPath = fullfile('c:','work','NetDocCell.dll'); NET.addAssembly(dllPath); obj = NetDocCell.MyGraph; mlData = cell(obj.getNewData)
cell 配列には次の型の要素が含まれます。
mlData =
[1x1 System.String] [1x1 System.Object[]]配列 System.Object の内容にアクセスするには、別の cell 配列 mlPlotData を作成します。
mlPlotData = cell(mlData{2})
この cell 配列には次の型の要素が含まれます。
mlPlotData =
[1x1 System.String] [1x1 System.Double[]]
System.Object[,] 配列に対する関数 cell の構文
関数 cell の次の構文を使用して、配列 System.Object[,] に格納されている System.DateTime および System.String のデータを MATLAB データの cell 配列に変換します。
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 と同じサイズの cell 配列です。
