關於 C# Lab
一個每個示例都真的能執行的免費 C# 學習站——就在你的瀏覽器裡,不在我們的伺服器上。
有什麼不同
大多數 C# 教程把程式碼放在截圖裡。在這裡,每個示例都有執行按鈕,由一個隨頁面分發的小型 C# 直譯器(約 60 KB 的 JavaScript)驅動。沒有後端:你的程式碼、你的輸入、你的草稿,永遠不會離開你的裝置。
報錯頁更進一步——展示真實的編譯診斷(error CS0029……),由與 Roslyn 編譯器對教學子集相同的規則產生。你在這裡練到的,和 Visual Studio 告訴你的是同一套東西。
引擎支援範圍
刻意做成的教學核心:變數與核心型別(int、double、string、bool、char)、var;所有迴圈與 switch;方法(過載、預設引數、out 引數、遞迴);類、繼承、介面、列舉、自動屬性、靜態成員;陣列、List<T>、Dictionary<K,V>;try/catch/finally 與真實異常層級;Console、Math、Convert、常用字串 API 與 $"…" 插值。
尚未支援(命中時站點會如實告訴你;以下在 Visual Studio 裡都正常):LINQ、lambda、async/await、委託與事件、自定義泛型、多維陣列、帶方法體的屬性、DateTime、StringBuilder。已知差異:引擎裡的 struct 目前按引用語義處理(真實 C# 是值複製)。
安全護欄:死迴圈會被 500 萬步看門狗攔下,而不是凍死你的標籤頁;輸出上限 20 萬字符;遞迴超過約 900 層會像真實執行時一樣報棧溢位。
誰做的
一個喜歡"零基礎設施網站"的獨立開發者。沒有追蹤、沒有賬號、沒有訂閱彈窗。如果這個站對你有幫助,題庫和報錯解碼器是全站最深的部分。
發現 bug 或者缺你想看的解釋?發個反饋——有真人會讀。