Мне нужно прочитать набор данных HDF5, который содержит массив 3 x 3, тип данных double.
Мой Visual Studio 2017 Pro дает сбой при возврате из моего кода ниже.
С помощью отладчика этот код считывает 2-мерный массив из HDF5; Я могу прочитать это в отладчике; но функция read_double_array аварийно завершает работу, когда возвращается к вызывающей стороне.
2-Й КОД ПОПЫТКА ОТ ПРИМЕРА НА STACKO ….
public static double[,] read_double_array( H5FileId fileId, string dataset_name, int dim1, int dim2 )
{
double [,] return_data = new double[ dim1, dim2 ];
try
{
H5Array<double> h5_array = new H5Array<double>( return_data );
H5DataSetId double_array_dataset = H5D.open( fileId, dataset_name );
H5D.read<double>( double_array_dataset,
new H5DataTypeId(H5T.H5Type.NATIVE_DOUBLE),
h5_array );
H5D.close(double_array_dataset);
}
catch( HDFException e )
{
Console.WriteLine( e.Message );
int aa=0;
}
return return_data;
}
МОЙ КОД 1-Й ПОПЫТКА, КОТОРЫЙ ПОТЕРЯЛ ...
public static double[,] read_double_array( H5FileId fileId, string dataset_name, int dim1, int dim2 )
{
double [,] return_data = new double[ dim1, dim2 ];
try
{
H5DataSetId dataSetId = H5D.open( fileId, dataset_name );
H5D.read( dataSetId,
new H5DataTypeId( H5T.H5Type.NATIVE_DOUBLE ),
new H5Array<double>( return_data ) );
}
catch( HDFException e )
{
Console.WriteLine( e.Message );
int aa=0;
}
return return_data; <<<<<<<<<<<<<<<<<< H A N G S H E R E
}