我有一个用 VB.net 编写的函数,代码如下所示。
For rowIndex As Integer = 0 To nRows - 1
Dim max As Integer = -1
Dim arrTemp() As String
arrTemp = Nothing
For columnIndex As Integer = 0 To nCols - 1
If IsNumeric(arrTranspose(rowIndex, columnIndex)) Then
Dim iVal As Integer = arrTranspose(rowIndex, columnIndex)
If iVal < 0 Then
iVal = Math.Abs(iVal)
End If
If max < iVal Then
max = iVal
ReDim Preserve arrTemp(max)
End If
arrTemp(iVal) += String.Format("{0},", (columnIndex + 1))
End If
Next
arrRespondentIDs(rowIndex) = arrTemp
Next
nRow = 210 nCols = 64772
在上面的代码中,第一次循环执行需要 4 到 5 分钟,我进行了研究并观察到,然后由于 IsNumeric 函数需要更多时间,对此不确定。
任何人都可以知道代码的哪一部分导致性能问题。请分享你的想法。
谢谢,穆罕默德萨迪克。