2018-10-12 15:37:13 -04:00
---
title: Null-coalescing Operator
---
# Null-coalescing Operator
The null-coalescing operator in C# is used to help assign one variable to another and specify an alternate value if the source value is `null` . The null-coalescing operator in C# is `??` .
## Example 1
Since `name` is `null` , `clientName` will be assigned the value "John Doe".
2019-05-15 10:08:19 -07:00
```csharp
2018-10-12 15:37:13 -04:00
string name = null;
string clientName = name ?? "John Doe";
Console.WriteLine(clientName);
```
2019-05-15 10:08:19 -07:00
```csharp
2018-10-12 15:37:13 -04:00
> John Doe
```
## Example 2
Since `name` is not `null` , `clientName` will be assigned the value of `name` , which is "Jane Smith".
2019-05-15 10:08:19 -07:00
```csharp
2018-10-12 15:37:13 -04:00
string name = "Jane Smith";
string clientName = name ?? "John Doe";
Console.WriteLine(clientName);
```
2019-05-15 10:08:19 -07:00
```csharp
2018-10-12 15:37:13 -04:00
> Jane Smith
```
## Alternative to if...else Statement
You could use an `if...else` statement to test for the presence of `null` and assign a different value.
2019-05-15 10:08:19 -07:00
```csharp
2018-10-12 15:37:13 -04:00
string clientName;
if (name != null)
clientName = name;
else
clientName = "John Doe";
```
However, this can be greatly simplified using the null-coalescing operator.
2019-05-15 10:08:19 -07:00
```csharp
2018-10-12 15:37:13 -04:00
string clientName = name ?? "John Doe";
```
## Alternative to Conditional (Ternary) Operator
It is also possible to use the conditional operator to test for the presence of `null` and assign a different value.
2019-05-15 10:08:19 -07:00
```csharp
2018-10-12 15:37:13 -04:00
string clientName = name != null ? name : "John Doe";
```
Again, this can be simplified using the null-coalescing operator.
2019-05-15 10:08:19 -07:00
```csharp
2018-10-12 15:37:13 -04:00
string clientName = name ?? "John Doe";
```
## References
* [?? Operator (C# Reference) ](https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/operators/null-conditional-operator )