zoukankan      html  css  js  c++  java
  • Fortran C# 混合编程时,数组参数的处理

    当我们在C#中调用一个Fortran编写的函数并且包含数组参数时,需要做以下两个处理.

    1.参数声明:

    例如当参数为整型数组时,不管是1维还是2维数组,通通声明为"ref int array",调用时传入数组第一个元素的引用,如"ref arr[0,0]".

    2.传入,读取多维数组:

    简单的说不管我们传入一个2维数组还是读取一个2维数组的值,通通需要先进行"转置"处理.即先转置后传入,读取后也需要转置才能得到正确返回结果.

    例如 定义需要传入 A[2,5] 数组时,先对A转置,传入A',但每一维的长度还是按转置前的数组进行传入

    以下为C#转置矩阵的函数

     1         public static T[,] MatrixConvert<T>(T[,] matrix)
    2 {
    3 T[,] result = new T[matrix.GetLength(1), matrix.GetLength(0)];
    4 for (int i = 0; i < matrix.GetLength(0); i++)
    5 {
    6 for (int j = 0; j < matrix.GetLength(1); j++)
    7 {
    8 result[j, i] = matrix[i, j];
    9 }
    10 }
    11 return result;
    12 }


  • 相关阅读:
    和园友们聊聊天
    php编写验证码
    面试题复习记录(二)
    面试题复习记录(一)
    正则表达式学习小记
    javascript学习小记(一)
    大四
    Java小应用程序
    明白这十个故事-->你也就参悟了人生
    Hibernate懒加载深入分析
  • 原文地址:https://www.cnblogs.com/xxfss2/p/2351144.html
Copyright © 2011-2022 走看看