me sale el siguiente error en la segunda iteración del bucle de mi:
Offset and length were out of bounds for the array or count is greater than the number of elements from index to the end of the source collection.
archivo de lectura de error en una matriz
y este es mi lazo
FileStream fs = new FileStream("D:\\06.Total Eclipse Of The Moon.mp3", FileMode.Open);
byte[] _FileName = new byte[1024];
long _FileLengh = fs.Length;
int position = 0;
for (int i = 1024; i < fs.Length; i += 1024)
{
fs.Read(_FileName, position, Convert.ToInt32(i));
sck.Client.Send(_FileName);
Thread.Sleep(30);
long unsend = _FileLengh - position;
if (unsend < 1024)
{
position += (int)unsend;
}
else
{
position += i;
}
}
fs.Close();
}
fs.Length = 5505214
fs.Read (_FileName, posición, 2048); << posición = 1024, 2048 - 1024 = 1024 entonces mi _FileName = 1024 hay suficiente espacio para eso –
@Acid: Pero usted está diciendo que quiere comenzar a leer en el índice 1024 de '_FileName'. No * hay * ningún índice de este tipo: el último índice de la matriz es 1023. Lea la documentación de 'Stream.Read' - No creo que comprenda para qué sirven los parámetros segundo y tercero. –
La última oración en realidad me hizo notar que no interpreté el parámetro 'offset'. Pensé que estaba relacionado con el flujo de la fuente, no el buffer. Me ayudó a solucionar un error crítico, ¡gracias! – wodzu