共用方式為


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)

來源:
Debug.cs
來源:
Debug.cs
來源:
Debug.cs

檢查條件;如果條件為 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 屬性上的 方法ListenersSystem.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.cs
來源:
Debug.cs
來源:
Debug.cs

檢查條件;如果條件為 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 屬性上的 方法ListenersSystem.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)

來源:
Debug.cs
來源:
Debug.cs
來源:
Debug.cs

檢查條件;如果條件為 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 屬性上的 方法ListenersSystem.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)

來源:
Debug.cs
來源:
Debug.cs
來源:
Debug.cs

檢查條件;如果條件為 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 屬性上的 方法ListenersSystem.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)

來源:
Debug.cs
來源:
Debug.cs
來源:
Debug.cs

檢查條件;如果條件為 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 屬性上的 方法ListenersSystem.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[])

來源:
Debug.cs
來源:
Debug.cs
來源:
Debug.cs

檢查條件;如果條件為 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 屬性上的 方法ListenersSystem.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>

適用於