Mostrando entradas con la etiqueta C#. Mostrar todas las entradas
Mostrando entradas con la etiqueta C#. Mostrar todas las entradas

domingo, 29 de abril de 2012

¿Por qué al escribir una dirección de un fichero (un path) debemos utilizar dos barras invertidas en C#?

La barra invertida es usada en sistemas Windows para separar los nombres de los directorios. Pero coincide con el carácter de control que se usa en las cadenas de C y los lenguajes que derivan de él.

Por tanto para que el compilador distinga los dos casos deberemos escribir dos barras invertidas cuando estemos escribiendo un dirección.

Hay una forma de evitar escribir las dos barras invertidas cuando estamos escribiendo un path en un string. Debemos anteponer el caracter @ a la cadena, veamos un ejemplo:

string nombreFichero = @"d:\ejemplos\ejemplo1.txt"

Si no pusiésemos la arroba deberíamos escribir la línea de código anterior así:

string nombreFichero = "d:\\ejemplos\\ejemplo1.txt"

Establecer direcciones relativas o absolutas

Si un fichero al que queremos acceder se encuentra en una subcarpeta, basta con que indiquemos la ruta hasta ella:

string nombreFichero2 = "..\\datos\\configuracion.txt"; // Ruta relativa


string nombreFichero = "d:\\ejemplos\\ejemplo1.txt"; // Ruta absoluta

¿Por qué utilizamos dos barras invertidas para escribir la dirección?





lunes, 9 de abril de 2012

¿Se puede declarar una constante como estática (poniendo la palabra clave static) en C#?

No podemos declarar una constante con la palabra clave static. Aunque debemos que tener claro que una constante es en la práctica un campo estático. Podemos acceder a ella sin la necesidad de tener que crear un objeto de esa clase (si los modificadores de privacidad lo permiten)  y ademas es compartida por todos los objetos de la clase. Es obvio decir que al ser una constante su valor es inalterable.


Una constante es declarada con la palabra const .

Cuando accedamos a una constante desde fuera de la clase (si los modificadores de privacidad lo permiten) debemos usar el nombre de la clase, un punto y el nombre de la constante.