String Methods


.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)
Syntax

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.
Remarks

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.

Examples

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.

*/
Platforms

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.
Version Information

.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
See Also

Reference



Community Content

Thomas Lee
Note about null or empty strings in .NET 2.0 (C#)
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.

SlyEcho
This is a convinience method.

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 :

Thomas Lee
IsNull
# 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

Maira Wenzel -- MSFT
The value of this method
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 :

Heinzi.at
VB.NET
In VB.NET, If s = "" does exactly that, since string comparisons in VB.NET treat Nothing like an empty string. (http://msdn.microsoft.com/en-us/library/cey92b0t.aspx) So, for VB.NET, the value of this function is rather low.
Tags :

Page view tracker