Click to Rate and Give Feedback
MSDN
MSDN Library
.NET Development
.NET Framework 3.5
System Namespace
String Class
String Methods
 IsNullOrEmpty Method

  Switch on low bandwidth view
This page is specific to
Microsoft Visual Studio 2008/.NET Framework 3.5

Other versions are also available for the following:
.NET Framework Class Library
String..::.IsNullOrEmpty Method

Indicates whether the specified String object is nullNothingnullptra null reference (Nothing in Visual Basic) or an Empty string.

Namespace:  System
Assembly:  mscorlib (in mscorlib.dll)
Visual Basic (Declaration)
Public Shared Function IsNullOrEmpty ( _
    value As String _
) As Boolean
Visual Basic (Usage)
Dim value As String
Dim returnValue As Boolean

returnValue = String.IsNullOrEmpty(value)
C#
public static bool IsNullOrEmpty(
    string value
)
Visual C++
public:
static bool IsNullOrEmpty(
    String^ value
)
JScript
public static function IsNullOrEmpty(
    value : String
) : boolean

Parameters

value
Type: System..::.String
A String reference.

Return Value

Type: System..::.Boolean
true if the value parameter is nullNothingnullptra null reference (Nothing in Visual Basic) or an empty string (""); otherwise, false.

IsNullOrEmpty is a convenience method that enables you to simultaneously test whether a String is nullNothingnullptra null reference (Nothing in Visual Basic) or its value is Empty.

The following example determines whether each of three strings has a value, is an empty string or is nullNothingnullptra null reference (Nothing in Visual Basic).

Visual Basic
' This example demonstrates the String.IsNullOrEmpty() method
Imports System

Class Sample
   Public Shared Sub Main()
      Dim s1 As String = "abcd"
      Dim s2 As String = ""
      Dim s3 As String = Nothing

      Console.WriteLine("String s1 {0}.", Test(s1))
      Console.WriteLine("String s2 {0}.", Test(s2))
      Console.WriteLine("String s3 {0}.", Test(s3))
   End Sub 'Main

   Public Shared Function Test(s As String) As [String]
      If [String].IsNullOrEmpty(s) = True Then
         Return "is null or empty"
      Else
         Return String.Format("(""{0}"") is not null or empty", s)
      End If
   End Function 'Test
End Class 'Sample 
'
'This example produces the following results:
'
'String s1 ("abcd") is not null or empty.
'String s2 is null or empty.
'String s3 is null or empty.
'

C#
// This example demonstrates the String.IsNullOrEmpty() method
using System;

class Sample 
{
    public static void Main() 
    {
    string s1 = "abcd";
    string s2 = "";
    string s3 = null;

    Console.WriteLine("String s1 {0}.", Test(s1));
    Console.WriteLine("String s2 {0}.", Test(s2));
    Console.WriteLine("String s3 {0}.", Test(s3));
    }

    public static String Test(string s)
    {
    if (String.IsNullOrEmpty(s) == true) 
        return "is null or empty";
    else
        return String.Format("(\"{0}\") is not null or empty", s);
    }
}
/*
This example produces the following results:

String s1 ("abcd") is not null or empty.
String s2 is null or empty.
String s3 is null or empty.

*/

Visual C++
// This example demonstrates the String.IsNullOrEmpty() method
using namespace System;
String^ Test( String^ s )
{
   if ( String::IsNullOrEmpty( s ) == true )
      return "is null or empty";
   else
      return String::Format( "(\"{0}\") is not null or 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 ) );
}

/*
This example produces the following results:

String s1 ("abcd") is not null or empty.
String s2 is null or empty.
String s3 is null or empty.

*/

Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile for Smartphone, Windows Mobile for Pocket PC, Xbox 360, Zune

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5, 3.0, 2.0

.NET Compact Framework

Supported in: 3.5, 2.0

XNA Framework

Supported in: 3.0, 2.0, 1.0
Community Content   What is Community Content?
Add new content RSS  Annotations
Note about null or empty strings in .NET 2.0 (C#)      Kaleb.G ... Thomas Lee   |   Edit   |   Show History
Keep in mind, even with the addition of nullable value types in .NET 2.0, there is no string? declaration. The standard string type continues to allow for storage of either null or "", which are different values. (The empty string "" has the exact same value as string.Empty/String.Empty.) Thus, this function is good for checking for two related, but different, values.
This is a convinience method.      SlyEcho   |   Edit   |   Show History

This method is equivalent to the following boolean expression (C#)

value == null || value.Length == 0

I think it would be more useful if it were implemented as an extension method (you cannot use regular non-static methods for null objects).

Tags What's this?: Add a tag
Flag as ContentBug
IsNull      Thomas Lee   |   Edit   |   Show History
# Null-String.ps1
# MSDN Sample using PowerShell
# Thomas Lee - tfl@psp.co.uk
# Apologies for the lousy formatting - the text editor is truly screwy!

# helper function
function strtest {
param ( [string] $str)

#if ([system.string]::IsNullOrEmpty($str)) {
return"is null or empty"
}
else {
return"`"{0}`" is not null or empty"-f$str}}

# define strings[string]
$s1="abcd"[string]
$s2=""[string]
$s3=$null

# Test and display
"String s1 {0}." -f $(strtest($s1))
"String s2 {0}." -f $(strtest($s2))
"String s3 {0}." -f $(strtest($s3))
  

This script produces the following output:

PS C:\foo\> . \null-string.ps1
String s1 "abcd" is not null or empty.
String s2 is null or empty.
String s3 is null or empty
The value of this method      Jordan Rieger ... Maira Wenzel -- MSFT   |   Edit   |   Show History
The value of this method is:

  • it requires less typing than the alternative: if (s == null || s.IsEmpty())
  • it is less error-prone than the alternative, especially in VB.NET, where you might mistakenly use Or instead of OrElse, causing an exception
  • it is a good safety check when you don't have control over all the code that might be calling your code; quite often, you can't rewrite all the code in an entire system to ensure that new strings are initialized to "" rather than null/Nothing.

Jordan Rieger

Tags What's this?: Add a tag
Flag as ContentBug
Processing
© 2009 Microsoft Corporation. All rights reserved. Terms of Use  |  Trademarks  |  Privacy Statement
Page view tracker