控制非 checked/unchecked 區塊內的整數運算溢位是否拋出 OverflowException。/checked+(或 /checked)啟用;/checked- 停用(預設)。
csc /checked+ MyMath.cs
啟用後,超出型別範圍的運算將在執行期拋出例外,利於發現邏輯錯誤;效能微幅下降。
當原始碼非系統預設代碼頁編碼時使用。若檔案為 Unicode/UTF-8 或同代碼頁建立,無需指定。適用所有輸入檔。
兩種語法:
/debug[+|-]:+ 產生 .pdb 並寫入偵錯資訊;- 不產生(預設)。/debug:full|pdbonly:full 完整偵錯資訊(預設行為);pdbonly 僅產生 .pdb,偵錯器需支援原始碼級偵錯。csc /debug+ HelloWorld.cs
等同原始碼 #define SYMBOL,作用範圍至 #undef 或檔案結尾。簡寫 /d。
// my.cs
#define FINAL // 若以 /define:FINAL 編譯則生效
public class MyBuild {
public static void Main() {
#if FINAL
Console.WriteLine("Final Build");
#else
Console.WriteLine("Trial Build");
#endif
}
}
csc /define:FINAL my.cs // 輸出 "Final Build"
csc my.cs // 輸出 "Trial Build"
適用於條件式編譯:Debug/Release 差異、授權控制、功能開關等。