我知道這是主觀的,但,這是我想出了基於回答我剛纔的問題的結果,似乎有點「拼湊」,因爲我已經改了不少:這是用於從網絡流(vb.net)讀取的最佳代碼嗎?
Private Function ReadFromBuffer(ByVal objReader As NetworkStream) As Byte()
Dim intRead As Integer = 1024
Dim allBytes(-1) As Byte
While intRead = 1024
Dim byteTempbuffer(1023) As Byte
intRead = objReader.Read(byteTempbuffer, 0, 1024)
ReDim Preserve byteTempbuffer(intRead - 1)
Dim tempold(allBytes.Length - 1) As Byte
tempold = allBytes
allBytes = tempold.Concat(byteTempbuffer).ToArray
End While
Return allBytes
End Function
基本上有更好的方式來寫這個(甚至只是代碼的一部分)或更有效的方式來做到這一點?
基本上,代碼是一次讀取網絡流1024字節中的所有字節。每次它讀取它放入一個返回的數組中的字節。
我認爲可能會更好的事情只有Redim byteTempbuffer
如果intRead
小於1024(redim是爲了防止空的字節被添加到數組的末尾,當剩餘的1024字節從網絡流)(基本上每次都更加高效,或者只是在需要的時候才聲明和重定向)
我認爲這屬於對codereview.stackexchange.com – finnw 2012-06-04 11:20:58