Diferencia entre la palabra clave readonly y const en C#

En C#, se usa una palabra clave const para declarar campos constantes y locales constantes. El valor del campo constante es el mismo en todo el programa o, en otras palabras, una vez que se asigna el campo constante, el valor de este campo no se cambia. En C#, los campos constantes y los locales no son variables, una constante es un número, string, referencia nula, valores booleanos.
Ejemplo:
 

CSharp

// C# program to illustrate the
// use of const keyword
using System;
 
class GFG {
 
    // Constant fields
    public const int myvar = 10;
    public const string str = "GeeksforGeeks";
 
    // Main method
    static public void Main()
    {
 
        // Display the value of Constant fields
        Console.WriteLine("The value of myvar: {0}", myvar);
        Console.WriteLine("The value of str: {0}", str);
    }
}

Producción: 
 

The value of myvar: 10
The value of str: GeeksforGeeks

En C#, puede usar una palabra clave de solo lectura para declarar una variable de solo lectura. Esta palabra clave de solo lectura muestra que puede asignar la variable solo cuando declara una variable o en un constructor de la misma clase en la que se declara.
Ejemplo:
 

CSharp

// C# program to illustrate the use
// of the readonly keyword
using System;
 
class GFG {
 
    // readonly variables
    public readonly int myvar1;
    public readonly int myvar2;
 
    // Values of the readonly
    // variables are assigned
    // Using constructor
    public GFG(int b, int c)
    {
 
        myvar1 = b;
        myvar2 = c;
        Console.WriteLine("Display value of myvar1 {0}, "+
                        "and myvar2 {1}", myvar1, myvar2);
    }
 
    // Main method
    static public void Main()
    {
        GFG obj1 = new GFG(100, 200);
    }
}

Producción: 
 

Display value of myvar1 100, and myvar2 200

Palabra clave ReadOnly Vs Const

Palabra clave de solo lectura Palabra clave constante
En C#, los campos de solo lectura se pueden crear usando la palabra clave de solo lectura En C#, los campos constantes se crean usando la palabra clave const.
ReadOnly es una constante de tiempo de ejecución. Const es una constante de tiempo de compilación.
El valor del campo de solo lectura se puede cambiar. El valor del campo const no se puede cambiar.
No se puede declarar dentro del método. Se puede declarar dentro del método.
En campos de solo lectura, podemos asignar valores en la declaración y en la parte del constructor. En campos constantes, solo podemos asignar valores en la parte de declaración.
Se puede usar con modificadores estáticos. No se puede usar con modificadores estáticos.

Publicación traducida automáticamente

Artículo escrito por ankita_saini y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *