freeCodeCamp/guide/english/csharp/null-coalescing-operator/index.md

76 lines
1.6 KiB
Markdown

---
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".
```cs
string name = null;
string clientName = name ?? "John Doe";
Console.WriteLine(clientName);
```
```cs
> John Doe
```
## Example 2
Since `name` is not `null`, `clientName` will be assigned the value of `name`, which is "Jane Smith".
```cs
string name = "Jane Smith";
string clientName = name ?? "John Doe";
Console.WriteLine(clientName);
```
```cs
> 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.
```cs
string clientName;
if (name != null)
clientName = name;
else
clientName = "John Doe";
```
However, this can be greatly simplified using the null-coalescing operator.
```cs
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.
```cs
string clientName = name != null ? name : "John Doe";
```
Again, this can be simplified using the null-coalescing operator.
```cs
string clientName = name ?? "John Doe";
```
## References
* [?? Operator (C# Reference)](https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/operators/null-conditional-operator)