
[DUDA] con flujo de bytes
Publicado por Jonathan (2 intervenciones) el 02/08/2014 03:50:30
Buenas noches, quisiera hacer una pregunta que tal vez sea un tanto tonta, pero realmente estoy un poco nuevo en cuanto a programación, en este momento me encuentro aprendiendo sobre los flujos, más específicamente, flujos de bytes, y en la guía se me ha planteado un ejemplo en el que encuentro un par de detalles que me parecen curiosos, y que no logro comprender totalmente, y se trata de una variable del tipo int, más o menos.
A ver. en la siguiente línea se definen dos variables de dicho tipo y a la primera se le asigna un valor:
int nbyte = 0, car;
Creo necesario mencionar que también se define una matriz "buffer" de 81 bytes:
byte[ ] buffer = new byte[81];
Mi duda se encuentra exactamente en un punto en el que se hace uso de dichas variables y de la matriz, y se trata de la siguientes líneas de código:
while ((car = Console.Read()) != '\r' && nbyte < buffer.Length)
{
buffer[nbyte] = (byte)car;
nbyte++;
}
Entiendo que nbyte va aumentando su valor a medida que se va cumpliendo la sentencia while, y de esta manera la matriz buffer va avanzando su posición, también entiendo que "car" tomará el valor que llegue mediante el respectivo método de entrada por teclado, ahora, para ser totalmente específico, mis dudas son ¿qué quiere decir exactamente la línea "buffer[nbyte] = (byte)car;"... Es decir, ¿qué funcione cumple la palabra clave "byte" dentro de paréntesis junto a la variable "car"?, ¿cuál es la función específica de la variable car?. Además, si la variable car es del tipo int, ¿qué se almacena exactamente en la matriz? Me planteo dicha pregunta debido a que si la matriz almacena el o los valores de la variable "car", la cual es de tipo entera, pero el usuario puede simplemente ingresar una cadena de caracteres y ya. ¿Qué sucede?
Disculpen si la pregunta tal vez es un tanto tonta, pero realmente no logro comprender del todo eso, y agradecería mucho la ayuda brindada. Le deseo buenas noches a toda la comunidad, y de antemano, muchas gracias.
A ver. en la siguiente línea se definen dos variables de dicho tipo y a la primera se le asigna un valor:
int nbyte = 0, car;
Creo necesario mencionar que también se define una matriz "buffer" de 81 bytes:
byte[ ] buffer = new byte[81];
Mi duda se encuentra exactamente en un punto en el que se hace uso de dichas variables y de la matriz, y se trata de la siguientes líneas de código:
while ((car = Console.Read()) != '\r' && nbyte < buffer.Length)
{
buffer[nbyte] = (byte)car;
nbyte++;
}
Entiendo que nbyte va aumentando su valor a medida que se va cumpliendo la sentencia while, y de esta manera la matriz buffer va avanzando su posición, también entiendo que "car" tomará el valor que llegue mediante el respectivo método de entrada por teclado, ahora, para ser totalmente específico, mis dudas son ¿qué quiere decir exactamente la línea "buffer[nbyte] = (byte)car;"... Es decir, ¿qué funcione cumple la palabra clave "byte" dentro de paréntesis junto a la variable "car"?, ¿cuál es la función específica de la variable car?. Además, si la variable car es del tipo int, ¿qué se almacena exactamente en la matriz? Me planteo dicha pregunta debido a que si la matriz almacena el o los valores de la variable "car", la cual es de tipo entera, pero el usuario puede simplemente ingresar una cadena de caracteres y ya. ¿Qué sucede?
Disculpen si la pregunta tal vez es un tanto tonta, pero realmente no logro comprender del todo eso, y agradecería mucho la ayuda brindada. Le deseo buenas noches a toda la comunidad, y de antemano, muchas gracias.
Valora esta pregunta


0