STRING.FORMAT

04/05/2005 - 22:01 por Jose Fernandez | Informe spam
hola.

he encontrado este codigo para codificar una cadena string..

ahora, lo que no entiendo es un pedacito del codigo que aqui se los muestro

const int SALT_BYTE_COUNT = 16;
byte[] saltBuf = new byte[SALT_BYTE_COUNT];
System.Security.Cryptography.RNGCryptoServiceProvider rng new System.Security.Cryptography.RNGCryptoServiceProvider();
rng.GetBytes(saltBuf);
StringBuilder sb = new StringBuilder(saltBuf.Length);
for (int i=0; i<saltBuf.Length; i++)
sb.Append(string.Format("{0:X2}", saltBuf[i]));
<<--
string salt = sb.ToString();

LA PARTE QUE NO ENTIENDO EN SI QUE HACE ES LA SIGUIENTE
sb.Append(string.Format("{0:X2}", saltBuf[i]));
QUE OCURRE EN ESA LINEA?

Saludos y gracias por adelantado
 

Leer las respuestas

#1 Tristan
04/05/2005 - 22:48 | Informe spam
LA PARTE QUE NO ENTIENDO EN SI QUE HACE ES LA SIGUIENTE
sb.Append(string.Format("{0:X2}", saltBuf[i]));




Pues hace lo mismo que esto:

sb.Append(saltBuf[i].ToString("X2"))

Más sencillo ¿No?.

Es decir, convertir el byte a un String, en formato hexadecimal de dos
posiciones.

String.Format, permite formatear una serie de valores, de acuerdo al patrón
del primer argumento. Para cada grupo entre llaves del string, se debe
corresponder un argumento. Estos deben ir numerados, empezando por el cero,
separando el número de argumento por dos puntos. Es decir:

{0:X2}

Significa que en ese lugar se escribirá el primer parámetro (0) con formato
X2. Podría escribirse algo así:

String.Format("El primer parámetro {0:N2} y el segundo {1:N2}, 1, 2)


Los distintos formatos se describen en la ayuda de vs.net. Busca
"Información general acerca de formatos".

Juan Carlos Badiola
MVP - C#

Preguntas similares