2016-03-23 100 views
-1

我已經找到堆棧溢出下面的代碼這段代碼是從二維數組中刪除行,它成功地在C#中工作,我的問題是將它轉換爲vb.net,當我轉換它時它不起作用。任何幫助,請從二維數組中刪除行

Public Function TrimArray(ByVal rowToRemove As Integer, ByVal originalArray As Integer(,)) As Integer(,) 

Dim result As Integer(,) = New Integer(originalArray.GetLength(0) - 2, originalArray.GetLength(1) - 1) {} 

    Dim i As Integer = 0, j As Integer = 0 
    While i < originalArray.GetLength(0) 
     If i = rowToRemove Then 
      Continue While 
     End If 
     Dim p As Integer = 0, m As Integer = 0 
     While p < originalArray.GetLength(1) 
      result(j, m) = originalArray(i, p) 
      m += 1 
      p += 1 
     End While 
     j += 1 
     i += 1 
    End While 

    Return result 
End Function 
+0

你試過嗎? http://converter.telerik.com/ – Werdna

+0

顯示您的轉換後的代碼,並告訴我們什麼「不起作用」 –

+0

是的。我試過了很多轉換器 – rasha

回答

0

這應該工作:

Public Shared Function DeleteRow(rowToRemove As Integer, Array1 As Integer(,)) As Integer(,) 
    Dim Array2 As Integer(,) = New Integer(Array1.GetLength(0) - 2, Array1.GetLength(1) - 1) {} 
    Dim i As Integer = 0, j As Integer = 0 
    While i < Array1.GetLength(0) 
     If i = rowToRemove Then 
      Continue While 
     End If 
     Dim k As Integer = 0, m As Integer = 0 
     While k < Array1.GetLength(1) 
      Array2(j, m) = Array1(i, k) 
      m += 1 
      k += 1 
     End While 
     j += 1 
     i += 1 
    End While 
    Return Array2 
End Function 

好了,我沒有把它轉換自己。你也不需要那麼做。你可以只用一個代碼轉換器:

Code Converter | Provided by Telerik

+0

@ FARHAN ANAM好吧,我試着使用代碼轉換器,但它沒有工作,所以你的代碼上面..我不知道問題在哪裏 – rasha

0

代碼是現在的工作,感謝所有

Public Function DeleteRow(ByVal rowToRemove As Integer, ByVal Array1 As Integer(,)) As Integer(,) 
    Dim Array2 As Integer(,) = New Integer(Array1.GetLength(0) - 2, Array1.GetLength(1) - 1) {} 
    Dim j As Integer = 0 
    For i = 0 To Array1.GetLength(0) - 1 

     If i = rowToRemove Then 

      Continue For 

     End If 

     Dim k As Integer = 0, m As Integer = 0 
     While k < Array1.GetLength(1) 
      Array2(j, m) = Array1(i, k) 
      m += 1 
      k += 1 
     End While 

     j += 1 
    Next 

    Return Array2 
End Function