'C# Object reference not set to an instance of an object
I have the following code:
public void SetUser(User user)
{
string streetNumber = "";
if (user.Address.StreetNo != null)
streetNumber = user.Address.StreetNo.ToString();
else
streetNumber = "";
}
I get the ever popular
Object reference not set to an instance of an object.
issue.
Solution 1:[1]
public void SetUser(User user)
{
string streetNumber = "";
if (user != null && user.Address != null && user.Address.StreetNo != null) {
streetNumber = user.Address.StreetNo.ToString();
}
}
Taking into account @CKoenig's suggestion, the following throws an exception if the user or user.Address are null:
public void SetUser(User user)
{
if (user == null) {
throw new System.ArgumentNullException("user", "user cannot be null");
}
if (user.Address == null) {
throw new System.ArgumentNullException("Address", "Address cannot be null");
}
string streetNumber = "";
if (user.Address.StreetNo != null) {
streetNumber = user.Address.StreetNo.ToString();
}
}
Solution 2:[2]
public void SetUser(User user)
{
string streetNumber = String.Empty;
if (user!= null
&& user.Address != null
&& user.Address.StreetNo != null)
{
streetNumber = user.Address.StreetNo.ToString();
}
}
Solution 3:[3]
Either user is null, or user.Address is null. You need to test them too.
Solution 4:[4]
Check your stacktrace and:
- user
- user.Address
- user.Address.StreetNo
with an if ... == null then ...
Solution 5:[5]
if (user != null
&& user.Address != null
&& user.Address.StreetNo != null)
{
// ...
}
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | vinzee |
| Solution 2 | sll |
| Solution 3 | cdhowie |
| Solution 4 | Random Dev |
| Solution 5 | k06a |
