在 C# 中使用 HDF5DotNet,我想读取 900x1 单元格数组,然后访问每个单元格内的 2D 双精度数组。我找到了如何将 H5Array 映射到 C# 中的数组(见下文),但如果数组由“单元格”组成,我无法弄清楚如何映射 H5Array。HDF5DotNet H5D.getType(...) 函数只返回一个整数 ID,我似乎无法与任何感兴趣的东西相关联。我假设 HDF5DotNet 中有一个类将与单元格对应。
H5.Open();
var fileID = H5F.open("_mapCsvFiles/simdata_020_01.mat", H5F.OpenMode.ACC_RDONLY);
var datasetID = H5D.open(fileID, "B_map");
var dataSpace = H5D.getSpace(datasetID);
var size = H5S.getSimpleExtentDims(dataSpace);
var dataType = H5D.getType(datasetID);
// What H5 Type would coorespond to CELLS
//????[,] dataArray = new ????[size[0], size[1]];
//var wrapArray = new H5Array<????>(dataArray);
double[,] dataArray = new double[size[0], size[1]];
var wrapArray = new H5Array<double>(dataArray);
H5D.read(datasetID, dataType, wrapArray);