viernes, 15 de mayo de 2009

chr() en C#

En algunas ocasiones las viejas funciones las echamos de menos cuando intentamos hacer algo similar en los nuevos lenguajes. En esta ocasión particular necesito utilizar el chr() de visual basic pero en C#. El chr lo que hace es que devuelve el caracter equivalente al código ascii que le pasemos por parámetro
La función en C# equivalente vendría siendo Convert.ToChar() de manera que si que quiere concatenar un salto de línea a un texto, por ejemplo, sería así:

variable_texto + Convert.ToChar(10)
Algunos códigos ASCII útiles para tener a mano
10 = Saldo de linea
13 = Retorno de carro
32 = Espacio
34 = Comillas dobles
39 = Comilla simple
o podemos consultar http://www.ascii.cl/es/
La función inversa del chr() en VB es asc() en la cual le pasamos un caracter y nos devuelve el código ascii correspondiente. En C# podría reemplazarse por Convert.ToInt32() pasando por parámetro en carater a evaluar.
Por ejemplo:
char c = '"';
Console.Write(Convert.ToInt32(c));
Esto nos devuelve 34 que es el código ascii de la comillas dobles. Sin embargo hay caracteres cuyo código ascii no se puede determinar de esta manera y requiere una forma mas elaborada. Quizás en un próximo post deje una función que emule el asc, de momento me ha funcionado bien Convert.ToInt32().
Como nota adicional en T-SQL la función CHAR() es la equivalente a chr() y ASCII() a asc().

1 comentarios: