String::IsNullOrEmpty Method (String^)


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Indicates whether the specified string is null or an Empty string.

Namespace:   System
Assembly:  mscorlib (in mscorlib.dll)

static bool IsNullOrEmpty(
	String^ value


Type: System::String^

The string to test.

Return Value

Type: System::Boolean

true if the value parameter is null or an empty string (""); otherwise, false.

IsNullOrEmpty is a convenience method that enables you to simultaneously test whether a String is null or its value is Empty. It is equivalent to the following code:

result = s == nullptr || s == String::Empty;

You can use the IsNullOrWhiteSpace method to test whether a string is null, its value is String::Empty, or it consists only of white-space characters.

A string is null if it has not been assigned a value (in C++ and Visual Basic) or if has explicitly been assigned a value of null. Although the composite formatting feature can gracefully handle a null string, as the following example shows, attempting to call one if its members throws a NullReferenceException.

using namespace System;

void main()
   String^ s;

   Console::WriteLine("The value of the string is '{0}'", s);

   try {
      Console::WriteLine("String length is {0}", s->Length);
   catch (NullReferenceException^ e) {
// The example displays the following output:
//     The value of the string is ''
//     Object reference not set to an instance of an object.

A string is empty if it is explicitly assigned an empty string ("") or String::Empty. An empty string has a Length of 0. The following example creates an empty string and displays its value and its length.

String^ s = "";
Console::WriteLine("The length of '{0}' is {1}.", s, s->Length);
// The example displays the following output:
//       The length of '' is 0.      

The following example examines three strings and determines whether each string has a value, is an empty string, or is null.

using namespace System;
String^ Test( String^ s )
   if (String::IsNullOrEmpty(s))
      return "is null or empty";
      return String::Format( "(\"{0}\") is neither null nor empty", s );

int main()
   String^ s1 = "abcd";
   String^ s2 = "";
   String^ s3 = nullptr;
   Console::WriteLine( "String s1 {0}.", Test( s1 ) );
   Console::WriteLine( "String s2 {0}.", Test( s2 ) );
   Console::WriteLine( "String s3 {0}.", Test( s3 ) );
// The example displays the following output:
//       String s1 ("abcd") is neither null nor empty.
//       String s2 is null or empty.
//       String s3 is null or empty.

Universal Windows Platform
Available since 8
.NET Framework
Available since 2.0
Portable Class Library
Supported in: portable .NET platforms
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1
Return to top