76 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			76 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| ---
 | |
| title: Null-coalescing Operator
 | |
| localeTitle: Operador de fusión nula
 | |
| ---
 | |
| # Operador de fusión nula
 | |
| 
 | |
| El operador de unión nula en C # se usa para ayudar a asignar una variable a otra y especificar un valor alternativo si el valor de origen es `null` . El operador de unión nula en C # es `??` .
 | |
| 
 | |
| ## Ejemplo 1
 | |
| 
 | |
| Como el `name` es `null` , a `clientName` se le asignará el valor "John Doe".
 | |
| 
 | |
| ```cs
 | |
| string name = null; 
 | |
|  
 | |
|  string clientName = name ?? "John Doe"; 
 | |
|  
 | |
|  Console.WriteLine(clientName); 
 | |
| ```
 | |
| 
 | |
| ```cs
 | |
| > John Doe 
 | |
| ```
 | |
| 
 | |
| ## Ejemplo 2
 | |
| 
 | |
| Dado que el `name` no es `null` , a `clientName` se le asignará el valor de `name` , que es "Jane Smith".
 | |
| 
 | |
| ```cs
 | |
| string name = "Jane Smith"; 
 | |
|  
 | |
|  string clientName = name ?? "John Doe"; 
 | |
|  
 | |
|  Console.WriteLine(clientName); 
 | |
| ```
 | |
| 
 | |
| ```cs
 | |
| > Jane Smith 
 | |
| ```
 | |
| 
 | |
| ## Alternativa a if ... else Declaración
 | |
| 
 | |
| Podría usar una instrucción `if...else` para probar la presencia de `null` y asignar un valor diferente.
 | |
| 
 | |
| ```cs
 | |
| string clientName; 
 | |
|  
 | |
|  if (name != null) 
 | |
|     clientName = name; 
 | |
|  else 
 | |
|     clientName = "John Doe"; 
 | |
| ```
 | |
| 
 | |
| Sin embargo, esto puede simplificarse enormemente utilizando el operador de fusión nula.
 | |
| 
 | |
| ```cs
 | |
| string clientName = name ?? "John Doe"; 
 | |
| ```
 | |
| 
 | |
| ## Alternativa al operador condicional (ternario)
 | |
| 
 | |
| También es posible utilizar el operador condicional para probar la presencia de `null` y asignar un valor diferente.
 | |
| 
 | |
| ```cs
 | |
| string clientName = name != null ? name : "John Doe"; 
 | |
| ```
 | |
| 
 | |
| De nuevo, esto se puede simplificar utilizando el operador de unión nula.
 | |
| 
 | |
| ```cs
 | |
| string clientName = name ?? "John Doe"; 
 | |
| ```
 | |
| 
 | |
| ## Referencias
 | |
| 
 | |
| *   [?? Operador (Referencia C #)](https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/operators/null-conditional-operator) |