Skip to main content
.NET Framework Class Library
Boolean..::.TryParse Method

Updated: September 2010

Tries to convert the specified string representation of a logical value to its Boolean equivalent. A return value indicates whether the conversion succeeded or failed.

Namespace: System
Assembly: mscorlib (in mscorlib.dll)
Syntax
Public Shared Function TryParse ( _
	value As String, _
	<OutAttribute> ByRef result As Boolean _
) As Boolean
public static bool TryParse(
	string value,
	out bool result
)
public:
static bool TryParse(
	String^ value, 
	[OutAttribute] bool% result
)
static member TryParse : 
        value:string * 
        result:bool byref -> bool 

Parameters

value
Type: System..::.String
A string containing the value to convert.
result
Type: System..::.Boolean%
When this method returns, if the conversion succeeded, contains true if value is equivalent to Boolean..::.TrueString or false if value is equivalent to FalseString. If the conversion failed, contains false. The conversion fails if value is nullNothingnullptra null reference (Nothing in Visual Basic) or is not equivalent to the value of either the TrueString or FalseString field.

Return Value

Type: System..::.Boolean
true if value was converted successfully; otherwise, false.
Remarks

The TryParse method is like the Parse method, except the TryParse method does not throw an exception if the conversion fails.

The value parameter can be preceded or followed by white space. The comparison is case-insensitive.

Examples

The following example calls the TryParse method to parse an array of strings. Note that the parse operation succeeds only if the string to be parsed is "True" (the value of the TrueString field) or "False" (the value of the FalseString field) in a case-insensitive comparison.


Module Example
   Public Sub Main()
      Dim values() As String = { Nothing, String.Empty, "True", "False", 
                                 "true", "false", "    true    ", "0", 
                                 "1", "-1", "string" }
      For Each value In values
         Dim flag As Boolean

         If Boolean.TryParse(value, flag) Then
            Console.WriteLine("'{0}' --> {1}", value, flag)
         Else
            Console.WriteLine("Unable to parse '{0}'.", 
                              If(value Is Nothing, "<null>", value))
         End If         
      Next                                     
   End Sub
End Module
' The example displays the following output:
'       Unable to parse '<null>'.
'       Unable to parse ''.
'       'True' --> True
'       'False' --> False
'       'true' --> True
'       'false' --> False
'       '    true    ' --> True
'       Unable to parse '0'.
'       Unable to parse '1'.
'       Unable to parse '-1'.
'       Unable to parse 'string'.


using System;

public class Example
{
   public static void Main()
   {
      string[] values = { null, String.Empty, "True", "False", 
                          "true", "false", "    true    ", "0", 
                          "1", "-1", "string" };
      foreach (var value in values) {
         bool flag;
         if (Boolean.TryParse(value, out flag))
            Console.WriteLine("'{0}' --> {1}", value, flag);
         else
            Console.WriteLine("Unable to parse '{0}'.", 
                              value == null ? "<null>" : value);
      }                                     
   }
}
// The example displays the following output:
//       Unable to parse '<null>'.
//       Unable to parse ''.
//       'True' --> True
//       'False' --> False
//       'true' --> True
//       'false' --> False
//       '    true    ' --> True
//       Unable to parse '0'.
//       Unable to parse '1'.
//       Unable to parse '-1'.
//       Unable to parse 'string'.

Version Information

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Portable Class Library

Supported in: Portable Class Library
Platforms

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Change History

Date

History

Reason

September 2010

Replaced example.

Customer feedback.

Microsoft is conducting an online survey to understand your opinion of the MSDN Web site. If you choose to participate, the online survey will be presented to you when you leave the MSDN Web site.

Would you like to participate?