.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 配列です。