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.
Example. 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.
Start This example shows that when a class-level variable is used in any method, it is null if it has not been initialized yet.
Note The compiler allows the code to be executed. This is a pattern that many programs use.
Info A compile-time error will occur if you not assign the string. This is called definite assignment analysis.
Tip The example shows that you can use unassigned member variable strings, but not unassigned local variable strings.
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.
Summary. 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.
Dot Net Perls is a collection of tested code examples. Pages are continually updated to stay current, with code correctness a top priority.
Sam Allen is passionate about computer languages. In the past, his work has been recommended by Apple and Microsoft and he has studied computers at a selective university in the United States.