Recuperar derterminados bytes

14/11/2003 - 10:23 por Mario Barro | Informe spam
Hola a toodos/as;

Existe algun método que permita recuperar de una matriz de bytes un
subsecuencia determinada de posiciones.

Ejemplo en seudo codigo.

byte[] matriz = new byte[29];

byte[] submatriz = SUBSECUENCA(matriz, 0, 9):

// Y ahora submatriz contiene esos 10 elementos.

Gracias y saludos

Preguntas similare

Leer las respuestas

#11 Tristan
16/11/2003 - 00:04 | Informe spam
Joder, que metedura de pata. De verdad siento mi error, pero tienes toda la
razón. He interpretado mal la documentación, además de haber obtenido en su
momento un error al probarlo.

Mil disculpas, Federico.

Juan Carlos Badiola
MVP - C#
Respuesta Responder a este mensaje
#12 Mario Barro
16/11/2003 - 09:59 | Informe spam
Dicen que equivocarse es de sabios :)

Investigando más sobre el tema, comento unas cuestiones interesantes "La
instrucción switch tiene su lado oscuro e intrigante."

· En referencia al código anterior, y en pro de hacer la instrucción switch
más robusta, si que "canta" el compilador si nos olvidamos de colocar el
final de código a ejecutar "break" en un caso.
Pero siempre y cuando NO esté vacío, que es el caso que nos ocupa.
Es una manera más limpia de realizar el paso automático de de un caso al
siguiente que utilizar "goto".


· El orden de los "case" NO IMPORTA. Es decir, hasta se puede poner el
"default" el primero y actua correctamente.
Esto implica que el tema de optimización en la búsqueda de los case
(primero los más probables) es dudoso.

/* Inicio ejemplo: ampliando el del mensaje anterior*/

switch(valor)
{
default:
Console.WriteLine("Es default: {0}", valor);
break;
case 1:
case 2:
case 3:
Console.WriteLine("Es un 1, 2, o 3: {0}", valor);
break;

case 4:
case 5:
Console.WriteLine("Es un 4, o 5: {0}", valor);
break;
}

/* Fin Ejemplo */


Supongo que las cuestiones que menciono a continuación son sabidas, pero
están insertadas por complementar la exposición;

· Otra diferencia entre C# y C++, es que en C# se permite utilizar cadena/s
de caracter/es como discriminador de la instrucción.

· Tampoco se permiten en los casos la utilización de variables, es decir,
tienen que ser expresiones constantes.
Respuesta Responder a este mensaje
#13 Federico Villafañes
17/11/2003 - 12:47 | Informe spam
Tristan: No hay problema. Te comento que esto del switch lo descubri
cuando alguien en un foro respondio una pregunta similar (creo que
fue en c-sharpcorner).

En ese momento me dije que no podira seguir descubriendo prestaciones
del lenguaje por casualidad y agarre las especificaciones del lenguaje que
estan en un archivo word inmenso en algun directorio de visualstudio y me
la lei tranquila y detenidamente de punta a punta. Ahi encontre otras
caracteristicas del lenguaje que a mi, por venir de c++, nunca se me
hubieran ocurrido y que me resultan muy utiles durante mi programacion
diaria, como:

- La posiblidad de declarar metodos con un numero variable de argumentos.
(No hablo de sobrecarga, sino de la utilizacion de 'params').
- El operador 'is' para descubrir el tipo de un objeto, y el (verbo?) 'as'
que
funciona como un cast, pero que en lugar de lanzar una excepcion si no
puede efectuar la conversion devuelve null.
- 'using' como instruccion, que permite eliminar un objeto despues de haber
sido usado.
- 'lock' para crear secciones criticas.
- Las instrucciones especiales que corren en modo unsafe como 'pin',
'stackalloc', etc.
- Alguna otra que utilizo menos frecuentemente...

La verdad, una verdadera mina de oro esas especificaciones...

Saludos.

Federico

"Tristan" escribió en el mensaje
news:
Joder, que metedura de pata. De verdad siento mi error, pero tienes toda


la
razón. He interpretado mal la documentación, además de haber obtenido en


su
momento un error al probarlo.

Mil disculpas, Federico.

Juan Carlos Badiola
MVP - C#


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida