We often deal with null
or uninitialized string
references. In C# programs, null
strings are a common cause of exceptions.
Strings are initialized to null
automatically at the class
level, but we must assign them in methods. One popular method for dealing with null
strings is the string.IsNullOrEmpty
method.
All class
-level reference variables are initialized to null
. Strings are reference types—the variable points to an object on the heap that contains that data.
class
-level variable is used in any method, it is null
if it has not been initialized yet.string
. This is called definite assignment analysis.using System; class Program { static string _test1; static void Main() { // Instance strings are initialized to null. if (_test1 == null) { Console.WriteLine("String is null"); } string test2; /* // Use of unassigned local variable 'test2' if (test2 == null) { } */ } }String is null
Length
One common problem with null
strings is trying to take their lengths with the Length
property. This will cause a NullReferenceException
.
System.NullReferenceException: Object reference not set to an instance of an object.
We saw how null
strings are initialized at the class
level, and how to definitely assign them in the local variable declaration space. And we reviewed some common null
errors.