constantes

Páginas: 8 (1989 palabras) Publicado: 5 de diciembre de 2013
Una constante es una variable cuyo valor puede determinar el compilador durante la compilación y puede aplicar optimizaciones derivadas de ello. Para que esto sea posible se ha de cumplir que el valor de una constante no pueda cambiar durante la ejecución, por lo que el compilador informará con un error de todo intento de modificar el valor inicial de una constante. Las constantes se definencomo variables normales pero precediendo el nombre de su tipo del modificador const y dándoles siempre un valor  inicial  al declararlas. O sea, con esta sintaxis:

const = ;
    Así, ejemplos de definición de constantes es el siguiente:

const int a = 123;
const int b = a + 125;
     Dadas estas definiciones de constantes, lo que hará el compilador será sustituir en el código generadotodas las referencias a las constantes a y b por los valores 123 y 248 respectivamente, por lo que el código generado será más eficiente ya que no incluirá el acceso y cálculo de los valores de a y b. Nótese que puede hacer esto porque en el código se indica explícitamente cual es el valor que siempre tendrá a y, al ser este un valor fijo, puede deducir cuál será el valor que siempre tendrá b. Paraque el compilador pueda hacer estos cálculos se ha de cumplir que el valor que se asigne a las constantes en su declaración sea una expresión constante. Por ejemplo, el siguiente código no es válido en tanto que el valor de x no es constante:


 // x es una variable normal, no una constante
 int x = 123;
 // Error: x no tiene porqué tener valor constante (aunque aquí lo tenga)
 const int y = x+123;
    Debido a la necesidad de que el valor dado a una constante sea precisamente constante, no tiene mucho sentido crear constantes de tipos de datos no básicos, pues a no ser que valgan null sus valores no se pueden determinar durante la compilación sino únicamente tras la ejecución de su constructor. La única excepción a esta regla son los tipos enumerados, cuyos valores se puedendeterminar al compilar como se explicará cuando los veamos en el Tema 14: Enumeraciones
    Todas las constantes son implícitamente estáticas, por lo se considera erróneo incluir el modificador static en su definición al no tener sentido hacerlo. De hecho, para leer su valor desde códigos externos a la definición de la clase donde esté definida la constante, habrá que usar la sintaxis . típica de loscampos static.
    Por último, hay que tener en cuenta que una variable sólo puede ser definida como constante si es una variable local o un campo, pero no si es un parámetro.


Variables de sólo lectura
    Dado que hay ciertos casos en los que resulta interesante disponer de la capacidad de sólo lectura que tienen las constantes pero no es posible usarlas debido a las restricciones que hayimpuestas sobre su uso, en C# también se da la posibilidad de definir variables que sólo puedan ser leídas. Para ello se usa la siguiente sintaxis:

readonly = ;
    Estas variables superan la mayoría de las limitaciones de las constantes. Por ejemplo:
No es obligatorio darles un valor al definirlas, sino que puede dárseles en el constructor. Ahora bien, una vez dado un valor a una variablereadonly ya no es posible volverlo a modificar. Si no se le da ningún valor ni en su constructor ni en su definición tomará el valor por defecto correspondiente a su tipo de dato.
No tienen porqué almacenar valores constantes, sino que el valor que almacenen puede calcularse durante la ejecución de la aplicación.
No tienen porqué definirse como estáticas, aunque si se desea puede hacerse.Su valor se determina durante la ejecución de la aplicación, lo que permite la actualización de códigos cliente sin necesidad de recompilar. Por ejemplo, dado:

namespace Programa1
{
 public class Utilidad
 {
  public static readonly int X = 1;
 }
}
namespace Programa2
{
 class Test
 {
  public static void Main()
  {
   System.Console.WriteLine(Programa1.Utilidad.X);
  }
 }
}...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • constante
  • Constantes
  • constant
  • ConstanteMente
  • Constantes o corrientes
  • Constantes Y Variables
  • Constante De Una Bobina
  • La disciplina constante

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS