¿Qué significa operador de asignación?
Un operador de asignación es el operador utilizado para asignar un nuevo valor a una variable, propiedad, evento o elemento indexador en el lenguaje de programación C#.
Los operadores de asignación también pueden utilizarse para operaciones lógicas, como las operaciones lógicas bit a bit o las operaciones sobre operandos integrales y operandos booleanos.
A diferencia de C++, los operadores de asignación en C# no se pueden sobrecargar directamente, pero los tipos definidos por el usuario pueden sobrecargar los operadores como +, -, /, etc. Esto permite utilizar el operador de asignación con esos tipos.
Definición de operador de asignación
Las siguientes son las características de los operadores de asignación:
- Cuando se utiliza el operador «=» para una asignación con el operando izquierdo como acceso a la propiedad o al indizador, la propiedad o el indizador deben tener un accesor set.
- La sobrecarga de un operador binario sobrecarga implícitamente su correspondiente operador de asignación (si existe).
- Los distintos operadores de asignación se basan en el tipo de operación realizada entre dos operandos, como la suma (+=), la resta, (-=), etc. El significado del símbolo del operador utilizado depende del tipo de los operandos.
- Los operadores de asignación son asociativos de derecha, lo que significa que se agrupan de derecha a izquierda.
- Aunque la asignación mediante el operador de asignación (a += b) consigue el mismo resultado que sin él ( =a +b), la diferencia entre ambas formas es que, a diferencia del último ejemplo, «a» se evalúa una sola vez.
- El operador de asignación suele devolver una referencia al objeto para poder utilizarla en asignaciones múltiples realizadas en una sola sentencia, como «a=b=c», donde a, b y c son operandos.
- El operador de asignación espera que el tipo de los operandos izquierdo y derecho sea el mismo para que la asignación se realice correctamente.
En C#, una expresión que utilice un operador de asignación podría ser «x op y», donde x e y son operandos y «op» representa el operador. El operador de asignación simple «=» se utiliza para almacenar el valor de su operando derecho en la posición de memoria indicada por el operando izquierdo.
El resultado es su valor de retorno. Los otros operadores de asignación que realizan la operación indicada en los dos operandos y asignan un valor resultante al operando izquierdo se denominan operadores de asignación compuesta. Entre ellos están:
- +=
- -=
- *=
- /=
- %=
- &=
- |=
- ^=
- <<= y >>=