写面的程序师用VB6编写的,如果用C#语言编写啊,因为对VB不懂,所以请教,谁能帮我把下面的程序改写成c#程序?谢谢了!Public Function fudian(ByVal a0 As Byte, ByVal a1 As Byte, ByVal a2 As Byte, ByVal a3 As Byte)
 Dim a(3)     As Byte     '不应定义为Dim   A(4)   As   Byte,原因为vb的数组下标默认从0开始
          Dim Result     As Single
          a(0) = a0
          a(1) = a1
          a(2) = a2
          a(3) = a3
          '先用一个临时数组倒序数组A
          Dim B(3)     As Byte
          Dim I     As Long
          For I = 0 To 3
                  B(I) = a(3 - I)
          Next
          CopyMemory Result, B(0), 4
          fudian = Round(Result, 3)
End Function/**************************/这是一列的转换,
 k =0
For g = 1 To 13     ' 列数-1
     mydataresult = fudian(mydata(k), mydata(k + 1), mydata(k + 2), mydata(k + 3))  ‘调用函数fudian
     k = k + 4  ‘四位二进制转换成一位数字
     rs3.Fields(g) = mydataresult
Next

解决方案 »

  1.   


    Public void fudian(byte a0, byte a1, byte a2, byte a3)
     byte[] a = new byte[4]; //不应定义为Dim A(4) As Byte,原因为vb的数组下标默认从0开始
     float Result;
      a[0] = a0
      a[1] = a1
      a[2] = a2
      a[3] = a3
      //先用一个临时数组倒序数组A
      byte[] b = new byte[4];
      for(int i = 0;i<4;i++)
      {
          B[i] = a[3 - i];
      }
      CopyMemory(Result, B)  //这句需要修改对应的CopyMemory函数
      return Math.Round(Result, 3)
    }/**************************/这是一列的转换,
    int k =0
    for(int g = 1;g< 13 ;g++)//' 列数-1
    {
      mydataresult = fudian(mydata[k], mydata[k + 1], mydata[k + 2], mydata[k + 3]) //调用函数fudian
      k = k + 4 //‘四位二进制转换成一位数字
      rs3.Fields(g) = mydataresult  //这个需要进行相应修改
    }总的来说我还是建议你把代码全部重写吧