Debug.Assert 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
檢查狀況;若條件為 false,則輸出訊息並顯示一個訊息框,顯示呼叫堆疊。
多載
| 名稱 | Description |
|---|---|
| Assert(Boolean) |
檢查狀況;若條件為 |
| Assert(Boolean, Debug+AssertInterpolatedStringHandler) |
檢查狀況;若條件為 |
| Assert(Boolean, String) |
檢查狀況;若條件為 |
| Assert(Boolean, Debug+AssertInterpolatedStringHandler, Debug+AssertInterpolatedStringHandler) |
檢查狀況;若條件為 |
| Assert(Boolean, String, String) |
檢查狀況;若條件為 |
| Assert(Boolean, String, String, Object[]) |
檢查狀況;若條件為 |
Assert(Boolean)
- 來源:
- Debug.cs
- 來源:
- Debug.cs
- 來源:
- 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")]
[System.Runtime.CompilerServices.OverloadResolutionPriority(-1)]
public static void Assert(bool condition);
[<System.Diagnostics.Conditional("DEBUG")>]
static member Assert : bool -> unit
[<System.Diagnostics.Conditional("DEBUG")>]
[<System.Runtime.CompilerServices.OverloadResolutionPriority(-1)>]
static member Assert : bool -> unit
Public Shared Sub Assert (condition As Boolean)
參數
- condition
- Boolean
要評估的條件運算式。 若條件為 true,則不會傳送失敗訊息,訊息框也不會顯示。
- 屬性
範例
以下範例為陣列建立索引,執行某些動作設定索引值,然後呼叫 Assert 確認索引值是否有效。 若不有效,則 Assert 輸出呼叫堆疊。
// 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 應用程式不支援模態對話框,因此它們在使用者介面模式與非使用者介面模式中行為相同。 訊息會寫入除錯模式下的主動追蹤監聽器,或是在釋放模式下不寫入訊息。
備註
訊息框的顯示取決於 的存在 DefaultTraceListener。 如果不在Listeners集合中,DefaultTraceListener訊息框就不會顯示。 可透過在屬性(System.Diagnostics.Trace.Listeners.Clear())上呼叫Clear方法Listeners來移除。DefaultTraceListener 對於 .NET Framework 應用程式,你也可以在應用程式的設定檔中使用 <clear> 元素 和 <remove> 元素 。
對於 .NET Framework 應用程式,你可以在設定檔中更改與應用程式名稱對應的行為 DefaultTraceListener 。 在這個檔案中,你可以啟用或停用斷言訊息框,或設定屬性 DefaultTraceListener.LogFileName 。 設定檔格式應如下:
<configuration>
<system.diagnostics>
<assert assertuienabled="true" logfilename="c:\\myFile.log" />
</system.diagnostics>
</configuration>
另請參閱
- Debug
- Trace
- BooleanSwitch
- TraceSwitch
- TraceListener
- DefaultTraceListener
- ConsoleTraceListener
- ConditionalAttribute
適用於
Assert(Boolean, Debug+AssertInterpolatedStringHandler)
- 來源:
- Debug.cs
- 來源:
- Debug.cs
- 來源:
- 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,則指定訊息未被傳送,訊息框也未顯示。
要傳給 Listeners 收藏的訊息。
- 屬性
備註
這種超載是在 .NET 6 中引入以提升效能的。 與接受 String 參數的超載相比,這種超載僅在需要該訊息時,評估任何插值的字串格式項目。
預設情況下,此 Debug.Assert 方法僅適用於除錯編譯。 如果你想在發佈版本中做斷言,可以用這個 Trace.Assert 方法。 如需詳細資訊,請參閱受控代碼中的 斷言。
通常,此 Assert 方法用於程式開發過程中識別邏輯錯誤。
Assert 評估狀況。 若結果為 false,則會將指定的診斷訊息傳送給集合。Listeners 你可以透過新增 TraceListener 或移除一個 Listeners ,來自訂這個行為。
當應用程式以使用者介面模式運行時,會顯示一個訊息框,顯示呼叫堆疊及檔案號與行號。 訊息框包含三個按鈕: 中止、 重試和 忽略。 點擊 中止 按鈕即可終止應用程式。 點擊 重試 會帶你回到除錯器中的程式碼,若你的應用程式正在除錯器中執行;若應用程式未在,則會提供開啟除錯器。 點擊 忽略 會繼續執行程式碼中的下一條指令。
備註
訊息框的顯示取決於 的存在 DefaultTraceListener。 如果不在Listeners集合中,DefaultTraceListener訊息框就不會顯示。 可透過在屬性(System.Diagnostics.Trace.Listeners.Clear())上呼叫Clear方法Listeners來移除。DefaultTraceListener 對於 .NET Framework 應用程式,你也可以在應用程式的設定檔中使用 <clear> 元素 和 <remove> 元素 。
對於 .NET Framework 應用程式,你可以在設定檔中更改與應用程式名稱對應的行為 DefaultTraceListener 。 在這個檔案中,你可以啟用或停用斷言訊息框,或設定屬性 DefaultTraceListener.LogFileName 。 設定檔格式應如下:
<configuration>
<system.diagnostics>
<assert assertuienabled="true" logfilename="c:\\myFile.log" />
</system.diagnostics>
</configuration>
另請參閱
- Debug
- Trace
- BooleanSwitch
- TraceSwitch
- TraceListener
- DefaultTraceListener
- ConsoleTraceListener
- ConditionalAttribute
適用於
Assert(Boolean, String)
- 來源:
- Debug.cs
- 來源:
- Debug.cs
- 來源:
- 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 = default);
[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)
Public Shared Sub Assert (condition As Boolean, Optional message As String = Nothing)
參數
- condition
- Boolean
要評估的條件運算式。 若條件為 true,則指定訊息未被傳送,訊息框也未顯示。
- 屬性
範例
以下範例檢查該 type 參數是否有效。 若 type 是 null, Assert 則輸出訊息。
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 ,來自訂這個行為。
當應用程式以使用者介面模式運行時,會顯示一個訊息框,顯示呼叫堆疊及檔案號與行號。 訊息框包含三個按鈕: 中止、 重試和 忽略。 點擊 中止 按鈕即可終止應用程式。 點擊 重試 會帶你回到除錯器中的程式碼,若你的應用程式正在除錯器中執行;若應用程式未在,則會提供開啟除錯器。 點擊 忽略 會繼續執行程式碼中的下一條指令。
備註
訊息框的顯示取決於 的存在 DefaultTraceListener。 如果不在Listeners集合中,DefaultTraceListener訊息框就不會顯示。 可透過在屬性(System.Diagnostics.Trace.Listeners.Clear())上呼叫Clear方法Listeners來移除。DefaultTraceListener 對於 .NET Framework 應用程式,你也可以在應用程式的設定檔中使用 <clear> 元素 和 <remove> 元素 。
對於 .NET Framework 應用程式,你可以在設定檔中更改與應用程式名稱對應的行為 DefaultTraceListener 。 在這個檔案中,你可以啟用或停用斷言訊息框,或設定屬性 DefaultTraceListener.LogFileName 。 設定檔格式應如下:
<configuration>
<system.diagnostics>
<assert assertuienabled="true" logfilename="c:\\myFile.log" />
</system.diagnostics>
</configuration>
另請參閱
- Debug
- Trace
- BooleanSwitch
- TraceSwitch
- TraceListener
- DefaultTraceListener
- ConsoleTraceListener
- ConditionalAttribute
適用於
Assert(Boolean, Debug+AssertInterpolatedStringHandler, Debug+AssertInterpolatedStringHandler)
- 來源:
- Debug.cs
- 來源:
- Debug.cs
- 來源:
- 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,則指定訊息未被傳送,訊息框也未顯示。
要傳給 Listeners 收藏的訊息。
- detailMessage
- Debug.AssertInterpolatedStringHandler
詳細訊息要寄給收藏。Listeners
- 屬性
備註
這種超載是在 .NET 6 中引入以提升效能的。 與接受 String 參數的超載相比,這種超載僅在需要該訊息時,評估任何插值的字串格式項目。
預設情況下,此 Debug.Assert 方法僅適用於除錯編譯。 如果你想在發佈版本中做斷言,可以用這個 Trace.Assert 方法。 如需詳細資訊,請參閱受控代碼中的 斷言。
通常,此 Assert 方法用於程式開發過程中識別邏輯錯誤。
Assert 評估狀況。 若結果為 false,則會將指定的診斷訊息傳送給集合。Listeners 你可以透過新增 TraceListener 或移除一個 Listeners ,來自訂這個行為。
當應用程式以使用者介面模式運行時,會顯示一個訊息框,顯示呼叫堆疊及檔案號與行號。 訊息框包含三個按鈕: 中止、 重試和 忽略。 點擊 中止 按鈕即可終止應用程式。 點擊 重試 會帶你回到除錯器中的程式碼,若你的應用程式正在除錯器中執行;若應用程式未在,則會提供開啟除錯器。 點擊 忽略 會繼續執行程式碼中的下一條指令。
備註
訊息框的顯示取決於 的存在 DefaultTraceListener。 如果不在Listeners集合中,DefaultTraceListener訊息框就不會顯示。 可透過在屬性(System.Diagnostics.Trace.Listeners.Clear())上呼叫Clear方法Listeners來移除。DefaultTraceListener 對於 .NET Framework 應用程式,你也可以在應用程式的設定檔中使用 <clear> 元素 和 <remove> 元素 。
對於 .NET Framework 應用程式,你可以在設定檔中更改與應用程式名稱對應的行為 DefaultTraceListener 。 在這個檔案中,你可以啟用或停用斷言訊息框,或設定屬性 DefaultTraceListener.LogFileName 。 設定檔格式應如下:
<configuration>
<system.diagnostics>
<assert assertuienabled="true" logfilename="c:\\myFile.log" />
</system.diagnostics>
</configuration>
另請參閱
- Debug
- Trace
- BooleanSwitch
- TraceSwitch
- TraceListener
- DefaultTraceListener
- ConsoleTraceListener
- ConditionalAttribute
適用於
Assert(Boolean, String, String)
- 來源:
- Debug.cs
- 來源:
- Debug.cs
- 來源:
- 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,則指定的訊息不會被傳送,訊息框也不會顯示。
- 屬性
範例
以下範例檢查該 type 參數是否有效。 若 type 是 null, Assert 則輸出兩個訊息。
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 ,來自訂這個行為。
當應用程式以使用者介面模式運行時,會顯示一個訊息框,顯示呼叫堆疊及檔案號與行號。 訊息框包含三個按鈕: 中止、 重試和 忽略。 點擊 中止 按鈕即可終止應用程式。 點擊 重試 會帶你回到除錯器中的程式碼,若你的應用程式正在除錯器中執行;若應用程式未在,則會提供開啟除錯器。 點擊 忽略 會繼續執行程式碼中的下一條指令。
備註
訊息框的顯示取決於 的存在 DefaultTraceListener。 如果不在Listeners集合中,DefaultTraceListener訊息框就不會顯示。 可透過在屬性(System.Diagnostics.Trace.Listeners.Clear())上呼叫Clear方法Listeners來移除。DefaultTraceListener 對於 .NET Framework 應用程式,你也可以在應用程式的設定檔中使用 <clear> 元素 和 <remove> 元素 。
對於 .NET Framework 應用程式,你可以在設定檔中更改與應用程式名稱對應的行為 DefaultTraceListener 。 在這個檔案中,你可以啟用或停用斷言訊息框,或設定屬性 DefaultTraceListener.LogFileName 。 設定檔格式應如下:
<configuration>
<system.diagnostics>
<assert assertuienabled="true" logfilename="c:\\myFile.log" />
</system.diagnostics>
</configuration>
另請參閱
- Debug
- Trace
- BooleanSwitch
- TraceSwitch
- TraceListener
- DefaultTraceListener
- ConsoleTraceListener
- ConditionalAttribute
適用於
Assert(Boolean, String, String, Object[])
- 來源:
- Debug.cs
- 來源:
- Debug.cs
- 來源:
- 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,則指定的訊息不會被傳送,訊息框也不會顯示。
- 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 ,來自訂這個行為。
當應用程式以使用者介面模式運行時,會顯示一個訊息框,顯示呼叫堆疊及檔案號與行號。 訊息框包含三個按鈕: 中止、 重試和 忽略。 點擊 中止 按鈕即可終止應用程式。 點擊 重試 會帶你回到除錯器中的程式碼,若你的應用程式正在除錯器中執行;若應用程式未在,則會提供開啟除錯器。 點擊 忽略 會繼續執行程式碼中的下一條指令。
備註
訊息框的顯示取決於 的存在 DefaultTraceListener。 如果不在Listeners集合中,DefaultTraceListener訊息框就不會顯示。 可透過在屬性(System.Diagnostics.Trace.Listeners.Clear())上呼叫Clear方法Listeners來移除。DefaultTraceListener 對於 .NET Framework 應用程式,你也可以在應用程式的設定檔中使用 <clear> 元素 和 <remove> 元素 。
對於 .NET Framework 應用程式,你可以在設定檔中更改與應用程式名稱對應的行為 DefaultTraceListener 。 在這個檔案中,你可以啟用或停用斷言訊息框,或設定屬性 DefaultTraceListener.LogFileName 。 設定檔格式應如下:
<configuration>
<system.diagnostics>
<assert assertuienabled="true" logfilename="c:\\myFile.log" />
</system.diagnostics>
</configuration>