我正在嘗試創建一種方法來執行遞增和賦值操作,如下所示:
Public Sub ArrayAdd(ByRef arr As Object(), newItem As Object)
Try
If IsNothing(arr) Then
arr = New Object() {newItem}
Exit Sub
End If
Array.Resize(arr, arr.Length 1)
arr(arr.Length - 1) = newItem
Catch ex As Exception
Throw New ApplicationException(ex.Message, ex)
End Try
End Sub`
使用這種方法會產生型別轉換錯誤,所以我想使用泛型Of T(沒有成功)。
uj5u.com熱心網友回復:
通用方法完全按照您的預期作業:
Public Sub AppendElement(Of T)(ByRef array As T(), element As T)
If array Is Nothing Then
array = {element}
Else
Dim upperBound = array.Length
System.Array.Resize(array, upperBound 1)
array(upperBound) = element
End If
End Sub
uj5u.com熱心網友回復:
下面是方法實作
Public Sub ArrayAdd(Of T)(ByRef arr() As T, item As T)
Try
If IsNothing(arr) Then
arr = New T() {item}
Exit Sub
End If
Array.Resize(arr, arr.Length 1)
arr(arr.Length - 1) = item
Catch ex As Exception
Throw New ApplicationException(ex.Message, ex)
End Try
End Sub
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/311197.html
上一篇:通用陣列初始化
