Debug.Assert Method (Boolean, String, String, Object[])

Checks for a condition and outputs the message and the call stack if the condition is false.

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

public static void Assert(
	bool condition,
	string message,
	string detailMessageFormat,
	params Object[] args


Type: System.Boolean
The conditional expression to evaluate. If the condition is true, the specified message and the call stack are not displayed.
Type: System.String
A message to display.
Type: System.String
A composite format string that contains text intermixed with zero or more format items, which correspond to objects in the args array.
Type: System.Object[]
An object array that contains zero or more objects to format.

Typically, the Assert method is used to identify logic errors during program development. Assert evaluates a specified condition. If the result is false, it sends diagnostics to the debugger.

The Assert(Boolean, String, String, Object[]) overload displays a message with inserted format items that you specify in an argument array.

The default behavior displays an Assert dialog box when the application runs in user-interface mode, and outputs the messages to the debugger when in debug mode.


The Assert method behaves differently in Silverlight-based applications than it does in desktop applications. When an Assert occurs in Windows, a dialog box is displayed with two options, OK and Cancel. Cancel causes the debugger to break at the Assert statement, OK causes it to continue. On the Apple Macintosh OS X, the dialog box only provides the option to continue. In either case, if a debugger is not currently attached, you may attach one before you close the dialog box. On the Apple Macintosh OS X, managed debugging can be done only through remote debugging on a Windows computer by using a Visual Studio plug-in.


Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

XNA Framework

Supported in: Xbox 360, Windows Phone OS 7.0

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.

Community Additions