29/06 23:03
dylan666
Ciao a tutti, sto provando a riconvertire del codice C# in VB.NET, che mi è un po' più familiare.
Sono arrivato a questa parte che non capisco
In particolare non mi è chiaro cosa fa "buffer[pos++] = 2".
Sbaglio o il suo risultato è identico a scrivere "buffer[pos] = 2" ?
Il primo incremento è quindi "finto"?
Con dei convertitori online mi è uscito questo ma mi è ancora meno chiaro:
Mi aiutate a capirci qualcosa?
Sono arrivato a questa parte che non capisco
const int BUFSIZE = 4 * 1024; byte [] buffer = new byte[BUFSIZE]; string pqueue = "test"; int pos = 0; buffer[pos++] = 2; for (int i = 0; i < pqueue.Length; i++) { buffer[pos++] = (byte)pqueue[i]; } buffer[pos++] = (byte) '\n';
In particolare non mi è chiaro cosa fa "buffer[pos++] = 2".
Sbaglio o il suo risultato è identico a scrivere "buffer[pos] = 2" ?
Il primo incremento è quindi "finto"?
Con dei convertitori online mi è uscito questo ma mi è ancora meno chiaro:
Const BUFSIZE As Integer = 4 * 1024 Dim buffer As Byte() = New Byte(BUFSIZE) Dim pqueue As String = "test" Dim pos As Integer = 0 buffer(Math.Min(System.Threading.Interlocked.Increment(pos), pos - 1)) = 2 For i As Integer = 0 To pqueue.Length - 1 buffer(Math.Min(System.Threading.Interlocked.Increment(pos), pos - 1)) = CByte(pqueue(i)) Next buffer(Math.Min(System.Threading.Interlocked.Increment(pos), pos - 1)) = CByte(vbLf)
Mi aiutate a capirci qualcosa?
Ultima modifica effettuata da dylan666 29/06 23:37
aaa