Debug.Assert 方法

定義

檢查條件;如果條件為 false,則輸出訊息,並顯示訊息方塊,該方塊會顯示呼叫堆疊。

多載

Assert(Boolean)

檢查條件;如果條件為 false,則顯示訊息方塊,該方塊會顯示呼叫堆疊。

Assert(Boolean, Debug+AssertInterpolatedStringHandler)

檢查條件;如果條件為 false,則輸出指定的訊息,並顯示訊息方塊,該方塊會顯示呼叫堆疊。

Assert(Boolean, String)

檢查條件;如果條件為 false,則輸出指定的訊息,並顯示訊息方塊,該方塊會顯示呼叫堆疊。

Assert(Boolean, Debug+AssertInterpolatedStringHandler, Debug+AssertInterpolatedStringHandler)

檢查條件;如果條件為 false,則輸出指定的訊息,並顯示訊息方塊,該方塊會顯示呼叫堆疊。

Assert(Boolean, String, String)

檢查條件;如果條件為 false,則輸出兩個指定的訊息,並顯示訊息方塊,該方塊會顯示呼叫堆疊。

Assert(Boolean, String, String, Object[])

檢查條件;如果條件為 false,則會輸出兩個訊息 (簡單和格式化) 並且顯示列出呼叫堆疊的訊息方塊。

Assert(Boolean)

檢查條件;如果條件為 false,則顯示訊息方塊,該方塊會顯示呼叫堆疊。

public:
 static void Assert(bool condition);
[System.Diagnostics.Conditional("DEBUG")]
public static void Assert (bool condition);
[<System.Diagnostics.Conditional("DEBUG")>]
static member Assert : bool -> unit
Public Shared Sub Assert (condition As Boolean)

參數

condition
Boolean

要評估的條件運算式。 如果條件為 true,就不會傳送失敗的訊息,也不會顯示訊息方塊。

屬性

範例

下列範例會建立陣列的索引、執行一些動作來設定索引的值,然後呼叫 Assert 以確認索引值有效。 如果無效,請 Assert 輸出呼叫堆疊。

// Create a local value.
int index;

// Perform some action that sets the local value.
index = -40;

// Test that the local value is valid. 
#if defined(DEBUG)
Debug::Assert( index > -1 );
#endif
// Create an index for an array.
int index;

// Perform some action that sets the index.
index = -40;

// Test that the index value is valid.
Debug.Assert(index > -1);
' Create an index for an array.
Dim index As Integer

' Perform some action that sets the index.
index = -40

' Test that the index value is valid. 
Debug.Assert((index > - 1))

備註

根據預設,方法 Debug.Assert 只適用于偵錯組建。 Trace.Assert如果您想要在發行組建中執行判斷提示,請使用 方法。 如需詳細資訊,請參閱受控碼中的判斷提示

一般而言, Assert(Boolean) 方法可用來識別程式開發期間的邏輯錯誤。 Assert 評估條件。 如果結果為 false ,它會將失敗訊息傳送至 Listeners 集合。 您可以藉由在集合中加入 TraceListener 或移除一個 Listeners ,來自訂此行為。

當應用程式在使用者介面模式下執行時,它會顯示訊息方塊,顯示帶有檔案和行號的呼叫堆疊。 訊息方塊包含三個按鈕: 中止重試忽略。 按一下 [中止] 按鈕會終止應用程式。 如果應用程式是在偵錯工具中執行,請按一下 [重試 ] 會將您傳送至偵錯工具中的程式碼,或者如果不是,則提供開啟偵錯工具。 按一下 [忽略] 會繼續執行程式碼中的下一個指示。

注意

Windows 8.x 應用程式不支援強制回應對話方塊,因此它們在使用者介面模式和非使用者介面模式中的行為相同。 訊息會以偵錯模式寫入使用中的追蹤接聽程式,或未以發行模式寫入任何訊息。

注意

訊息方塊的顯示取決於 是否存在 DefaultTraceListenerDefaultTraceListener如果 不在集合中 Listeners ,則不會顯示訊息方塊。 DefaultTraceListener您可以藉由呼叫 Clear 屬性上的 Listeners 方法, () System.Diagnostics.Trace.Listeners.Clear() 來移除 。 對於.NET Framework應用程式,您也可以在應用程式的組態檔中使用< clear > 元素< remove > 元素

對於.NET Framework應用程式,您可以在對應至應用程式名稱的組態檔中變更 的行為 DefaultTraceListener 。 在此檔案中,您可以啟用和停用判斷提示訊息方塊或設定 DefaultTraceListener.LogFileName 屬性。 組態檔的格式應如下:

<configuration>
  <system.diagnostics>
    <assert assertuienabled="true" logfilename="c:\\myFile.log" />
  </system.diagnostics>
</configuration>

另請參閱

適用於

Assert(Boolean, Debug+AssertInterpolatedStringHandler)

檢查條件;如果條件為 false,則輸出指定的訊息,並顯示訊息方塊,該方塊會顯示呼叫堆疊。

public:
 static void Assert(bool condition, System::Diagnostics::Debug::AssertInterpolatedStringHandler % message);
[System.Diagnostics.Conditional("DEBUG")]
public static void Assert (bool condition, ref System.Diagnostics.Debug.AssertInterpolatedStringHandler message);
[<System.Diagnostics.Conditional("DEBUG")>]
static member Assert : bool * AssertInterpolatedStringHandler -> unit
Public Shared Sub Assert (condition As Boolean, ByRef message As Debug.AssertInterpolatedStringHandler)

參數

condition
Boolean

要評估的條件運算式。 如果條件為 true,就不會傳送指定的訊息,也不會顯示訊息方塊。

message
Debug.AssertInterpolatedStringHandler

要傳送給 Listeners 集合的訊息。

屬性

備註

這個多載是在 .NET 6 中引進來改善效能。 相較于採用 String 參數的多載,此多載只會在需要訊息時評估任何插補字串格式專案。

根據預設,方法 Debug.Assert 只適用于偵錯組建。 Trace.Assert如果您想要在發行組建中執行判斷提示,請使用 方法。 如需詳細資訊,請參閱受控碼中的判斷提示

一般而言, Assert 方法可用來識別程式開發期間的邏輯錯誤。 Assert 評估條件。 如果結果為 false ,它會將指定的診斷訊息傳送至 Listeners 集合。 您可以藉由在集合中加入 TraceListener 或移除一個 Listeners ,來自訂此行為。

當應用程式在使用者介面模式下執行時,它會顯示訊息方塊,顯示帶有檔案和行號的呼叫堆疊。 訊息方塊包含三個按鈕: 中止重試忽略。 按一下 [中止] 按鈕會終止應用程式。 如果應用程式是在偵錯工具中執行,請按一下 [重試 ] 會將您傳送至偵錯工具中的程式碼,或者如果不是,則提供開啟偵錯工具。 按一下 [忽略] 會繼續執行程式碼中的下一個指示。

注意

訊息方塊的顯示取決於 是否存在 DefaultTraceListenerDefaultTraceListener如果 不在集合中 Listeners ,則不會顯示訊息方塊。 DefaultTraceListener您可以藉由呼叫 Clear 屬性上的 Listeners 方法, () System.Diagnostics.Trace.Listeners.Clear() 來移除 。 對於.NET Framework應用程式,您也可以在應用程式的組態檔中使用< clear > 元素< remove > 元素

對於.NET Framework應用程式,您可以在對應至應用程式名稱的組態檔中變更 的行為 DefaultTraceListener 。 在此檔案中,您可以啟用和停用判斷提示訊息方塊或設定 DefaultTraceListener.LogFileName 屬性。 組態檔的格式應如下:

<configuration>
  <system.diagnostics>
    <assert assertuienabled="true" logfilename="c:\\myFile.log" />
  </system.diagnostics>
</configuration>

另請參閱

適用於

Assert(Boolean, String)

檢查條件;如果條件為 false,則輸出指定的訊息,並顯示訊息方塊,該方塊會顯示呼叫堆疊。

public:
 static void Assert(bool condition, System::String ^ message);
[System.Diagnostics.Conditional("DEBUG")]
public static void Assert (bool condition, string message);
[System.Diagnostics.Conditional("DEBUG")]
public static void Assert (bool condition, string? message);
[<System.Diagnostics.Conditional("DEBUG")>]
static member Assert : bool * string -> unit
Public Shared Sub Assert (condition As Boolean, message As String)

參數

condition
Boolean

要評估的條件運算式。 如果條件為 true,就不會傳送指定的訊息,也不會顯示訊息方塊。

message
String

要傳送給 Listeners 集合的訊息。

屬性

範例

下列範例會檢查 參數是否 type 有效。 如果 為 typenullAssert 則輸出訊息。

void MyMethod( Object^ obj, Type^ type )
{
   #if defined(DEBUG)
   Debug::Assert( type != nullptr, "Type paramater is null" );
   #endif
}
public static void MyMethod(Type type, Type baseType)
{
    Debug.Assert(type != null, "Type parameter is null");

    // Perform some processing.
}
Public Shared Sub MyMethod(type As Type, baseType As Type)
    Debug.Assert(Not (type Is Nothing), "Type parameter is null")
End Sub

備註

根據預設,方法 Debug.Assert 只適用于偵錯組建。 Trace.Assert如果您想要在發行組建中執行判斷提示,請使用 方法。 如需詳細資訊,請參閱受控碼中的判斷提示

一般而言, Assert 方法可用來識別程式開發期間的邏輯錯誤。 Assert 評估條件。 如果結果為 false ,它會將指定的診斷訊息傳送至 Listeners 集合。 您可以藉由在集合中加入 TraceListener 或移除一個 Listeners ,來自訂此行為。

當應用程式在使用者介面模式下執行時,它會顯示訊息方塊,顯示帶有檔案和行號的呼叫堆疊。 訊息方塊包含三個按鈕: 中止重試忽略。 按一下 [中止] 按鈕會終止應用程式。 如果應用程式是在偵錯工具中執行,請按一下 [重試 ] 會將您傳送至偵錯工具中的程式碼,或者如果不是,則提供開啟偵錯工具。 按一下 [忽略] 會繼續執行程式碼中的下一個指示。

注意

訊息方塊的顯示取決於 是否存在 DefaultTraceListenerDefaultTraceListener如果 不在集合中 Listeners ,則不會顯示訊息方塊。 DefaultTraceListener您可以藉由呼叫 Clear 屬性上的 Listeners 方法, () System.Diagnostics.Trace.Listeners.Clear() 來移除 。 對於.NET Framework應用程式,您也可以在應用程式的組態檔中使用< clear > 元素< remove > 元素

對於.NET Framework應用程式,您可以在對應至應用程式名稱的組態檔中變更 的行為 DefaultTraceListener 。 在此檔案中,您可以啟用和停用判斷提示訊息方塊或設定 DefaultTraceListener.LogFileName 屬性。 組態檔的格式應如下:

<configuration>
  <system.diagnostics>
    <assert assertuienabled="true" logfilename="c:\\myFile.log" />
  </system.diagnostics>
</configuration>

另請參閱

適用於

Assert(Boolean, Debug+AssertInterpolatedStringHandler, Debug+AssertInterpolatedStringHandler)

檢查條件;如果條件為 false,則輸出指定的訊息,並顯示訊息方塊,該方塊會顯示呼叫堆疊。

public:
 static void Assert(bool condition, System::Diagnostics::Debug::AssertInterpolatedStringHandler % message, System::Diagnostics::Debug::AssertInterpolatedStringHandler % detailMessage);
[System.Diagnostics.Conditional("DEBUG")]
public static void Assert (bool condition, ref System.Diagnostics.Debug.AssertInterpolatedStringHandler message, ref System.Diagnostics.Debug.AssertInterpolatedStringHandler detailMessage);
[<System.Diagnostics.Conditional("DEBUG")>]
static member Assert : bool * AssertInterpolatedStringHandler * AssertInterpolatedStringHandler -> unit
Public Shared Sub Assert (condition As Boolean, ByRef message As Debug.AssertInterpolatedStringHandler, ByRef detailMessage As Debug.AssertInterpolatedStringHandler)

參數

condition
Boolean

要評估的條件運算式。 如果條件為 true,就不會傳送指定的訊息,也不會顯示訊息方塊。

message
Debug.AssertInterpolatedStringHandler

要傳送給 Listeners 集合的訊息。

detailMessage
Debug.AssertInterpolatedStringHandler

要傳送給 Listeners 集合的詳細訊息。

屬性

備註

這個多載是在 .NET 6 中引進來改善效能。 相較于採用 String 參數的多載,此多載只會在需要訊息時評估任何插補字串格式專案。

根據預設,方法 Debug.Assert 只適用于偵錯組建。 Trace.Assert如果您想要在發行組建中執行判斷提示,請使用 方法。 如需詳細資訊,請參閱受控碼中的判斷提示

一般而言, Assert 方法可用來識別程式開發期間的邏輯錯誤。 Assert 評估條件。 如果結果為 false ,它會將指定的診斷訊息傳送至 Listeners 集合。 您可以藉由在集合中加入 TraceListener 或移除一個 Listeners ,來自訂此行為。

當應用程式在使用者介面模式下執行時,它會顯示訊息方塊,顯示帶有檔案和行號的呼叫堆疊。 訊息方塊包含三個按鈕: 中止重試忽略。 按一下 [中止] 按鈕會終止應用程式。 如果應用程式是在偵錯工具中執行,請按一下 [重試 ] 會將您傳送至偵錯工具中的程式碼,或者如果不是,則提供開啟偵錯工具。 按一下 [忽略] 會繼續執行程式碼中的下一個指示。

注意

訊息方塊的顯示取決於 是否存在 DefaultTraceListenerDefaultTraceListener如果 不在集合中 Listeners ,則不會顯示訊息方塊。 DefaultTraceListener您可以藉由呼叫 Clear 屬性上的 Listeners 方法, () System.Diagnostics.Trace.Listeners.Clear() 來移除 。 對於.NET Framework應用程式,您也可以在應用程式的組態檔中使用< clear > 元素< remove > 元素

對於.NET Framework應用程式,您可以在對應至應用程式名稱的組態檔中變更 的行為 DefaultTraceListener 。 在此檔案中,您可以啟用和停用判斷提示訊息方塊或設定 DefaultTraceListener.LogFileName 屬性。 組態檔的格式應如下:

<configuration>
  <system.diagnostics>
    <assert assertuienabled="true" logfilename="c:\\myFile.log" />
  </system.diagnostics>
</configuration>

另請參閱

適用於

Assert(Boolean, String, String)

檢查條件;如果條件為 false,則輸出兩個指定的訊息,並顯示訊息方塊,該方塊會顯示呼叫堆疊。

public:
 static void Assert(bool condition, System::String ^ message, System::String ^ detailMessage);
[System.Diagnostics.Conditional("DEBUG")]
public static void Assert (bool condition, string message, string detailMessage);
[System.Diagnostics.Conditional("DEBUG")]
public static void Assert (bool condition, string? message, string? detailMessage);
[<System.Diagnostics.Conditional("DEBUG")>]
static member Assert : bool * string * string -> unit
Public Shared Sub Assert (condition As Boolean, message As String, detailMessage As String)

參數

condition
Boolean

要評估的條件運算式。 如果條件為 true,就不會傳送指定的訊息,也不會顯示訊息方塊。

message
String

要傳送給 Listeners 集合的訊息。

detailMessage
String

要傳送給 Listeners 集合的詳細訊息。

屬性

範例

下列範例會檢查 參數是否 type 有效。 如果 為 typenullAssert 則輸出兩則訊息。

void MyMethod( Object^ obj, Type^ type )
{
   #if defined(DEBUG)
   Debug::Assert( type != nullptr, "Type paramater is null", "Can't get object for null type" );
   #endif
}
public static void MyMethod(Type type, Type baseType)
{
    Debug.Assert(type != null, "Type parameter is null",
       "Can't get object for null type");

    // Perform some processing.
}
Public Shared Sub MyMethod(type As Type, baseType As Type)
    Debug.Assert( Not (type Is Nothing), "Type parameter is null", "Can't get object for null type")
    ' Perform some processing.
End Sub

備註

根據預設,方法 Debug.Assert 只適用于偵錯組建。 Trace.Assert如果您想要在發行組建中執行判斷提示,請使用 方法。 如需詳細資訊,請參閱受控碼中的判斷提示

一般而言, Assert(Boolean, String, String) 方法可用來識別程式開發期間的邏輯錯誤。 Assert 評估條件。 如果結果為 false ,它會將指定的診斷訊息和詳細訊息傳送至 Listeners 集合。 您可以藉由在集合中加入 TraceListener 或移除一個 Listeners ,來自訂此行為。

當應用程式在使用者介面模式下執行時,它會顯示訊息方塊,顯示帶有檔案和行號的呼叫堆疊。 訊息方塊包含三個按鈕: 中止重試忽略。 按一下 [中止] 按鈕會終止應用程式。 如果應用程式是在偵錯工具中執行,請按一下 [重試 ] 會將您傳送至偵錯工具中的程式碼,或者如果不是,則提供開啟偵錯工具。 按一下 [忽略] 會繼續執行程式碼中的下一個指示。

注意

訊息方塊的顯示取決於 是否存在 DefaultTraceListenerDefaultTraceListener如果 不在集合中 Listeners ,則不會顯示訊息方塊。 DefaultTraceListener您可以藉由呼叫 Clear 屬性上的 Listeners 方法, () System.Diagnostics.Trace.Listeners.Clear() 來移除 。 對於.NET Framework應用程式,您也可以在應用程式的組態檔中使用< clear > 元素< remove > 元素

對於.NET Framework應用程式,您可以在對應至應用程式名稱的組態檔中變更 的行為 DefaultTraceListener 。 在此檔案中,您可以啟用和停用判斷提示訊息方塊或設定 DefaultTraceListener.LogFileName 屬性。 組態檔的格式應如下:

<configuration>
  <system.diagnostics>
    <assert assertuienabled="true" logfilename="c:\\myFile.log" />
  </system.diagnostics>
</configuration>

另請參閱

適用於

Assert(Boolean, String, String, Object[])

檢查條件;如果條件為 false,則會輸出兩個訊息 (簡單和格式化) 並且顯示列出呼叫堆疊的訊息方塊。

public:
 static void Assert(bool condition, System::String ^ message, System::String ^ detailMessageFormat, ... cli::array <System::Object ^> ^ args);
[System.Diagnostics.Conditional("DEBUG")]
public static void Assert (bool condition, string message, string detailMessageFormat, params object[] args);
[System.Diagnostics.Conditional("DEBUG")]
public static void Assert (bool condition, string? message, string detailMessageFormat, params object?[] args);
[<System.Diagnostics.Conditional("DEBUG")>]
static member Assert : bool * string * string * obj[] -> unit
Public Shared Sub Assert (condition As Boolean, message As String, detailMessageFormat As String, ParamArray args As Object())

參數

condition
Boolean

要評估的條件運算式。 如果條件為 true,就不會傳送指定的訊息,也不會顯示訊息方塊。

message
String

要傳送給 Listeners 集合的訊息。

detailMessageFormat
String

要傳送給 Listeners 集合的複合格式字串。 這個訊息包含混合零個或多個格式項目的文字,而這些格式項目與 args 陣列中的物件相對應。

args
Object[]

物件陣列,包含零或多個要格式化的物件。

屬性

備註

這個方法會使用 .NET 複合格式設定功能 ,將物件的值轉換成其文字標記法,並將該標記法內嵌在字串中。 產生的字串會傳送至 Listeners 集合。

根據預設,方法 Debug.Assert 只適用于偵錯組建。 Trace.Assert如果您想要在發行組建中執行判斷提示,請使用 方法。 如需詳細資訊,請參閱受控碼中的判斷提示

一般而言, Assert(Boolean, String, String, Object[]) 方法可用來識別程式開發期間的邏輯錯誤。 Assert 評估條件。 如果結果為 false ,則會 String.Format(String, Object[]) 呼叫 方法,並以 detailMessageFormat 參數的形式傳入字串和 args 陣列。 Assert(Boolean, String, String, Object[]) 然後將指定的文字訊息和格式化的文字訊息傳送至 Listeners 集合。 您可以藉由在集合中加入 TraceListener 或移除一個 Listeners ,來自訂此行為。

當應用程式在使用者介面模式下執行時,它會顯示訊息方塊,顯示帶有檔案和行號的呼叫堆疊。 訊息方塊包含三個按鈕: 中止重試忽略。 按一下 [中止] 按鈕會終止應用程式。 如果應用程式是在偵錯工具中執行,請按一下 [重試 ] 會將您傳送至偵錯工具中的程式碼,或者如果不是,則提供開啟偵錯工具。 按一下 [忽略] 會繼續執行程式碼中的下一個指示。

注意

訊息方塊的顯示取決於 是否存在 DefaultTraceListenerDefaultTraceListener如果 不在集合中 Listeners ,則不會顯示訊息方塊。 DefaultTraceListener您可以藉由呼叫 Clear 屬性上的 Listeners 方法, () System.Diagnostics.Trace.Listeners.Clear() 來移除 。 對於.NET Framework應用程式,您也可以在應用程式的組態檔中使用< clear > 元素< remove > 元素

對於.NET Framework應用程式,您可以在對應至應用程式名稱的組態檔中變更 的行為 DefaultTraceListener 。 在此檔案中,您可以啟用和停用判斷提示訊息方塊或設定 DefaultTraceListener.LogFileName 屬性。 組態檔的格式應如下:

<configuration>
  <system.diagnostics>
    <assert assertuienabled="true" logfilename="c:\\myFile.log" />
  </system.diagnostics>
</configuration>

適用於