C#(讀作“SeeSharp”)是一種新式編程言語,不僅面向目標,還類型安全。C#源於C言語系列,C、C++、Java和JavaScript程序員很快就可以上手使用。
本教程概述了C#8及更高版別中該言語的首要組件。假如想要經過交互式示例探索言語,請嘗試C#簡介教程。
C#是一種面向目標的言語。不僅如此,C#還進一步支撐面向組件的編程。當代軟件規划越來越依賴選用自描述的獨立功用包形式的軟件組件。此類組件的關鍵是它們供給包含特點、辦法和事情的編程模型。它們包含供給組件相關聲明性信息的特點。它們合並了自己的文檔。C#供給了言語結構來直接支撐這些概念,讓C#成為一種非常天然的言語,可用於創建和使用軟件組件。
多項C#功用有助於結構可靠耐用的應用程序。“廢物收回”會自動收回無法訪問的未使用目標所占用的內存。“反常處理”供給了一種結構化且可擴展的辦法來進行過錯檢測和恢復。該言語的“類型安全”規划使其無法讀取未初始化的變量、無法索引超出其范圍的數組或執行未經查看的類型轉換。
C#選用統一的類型體系。所有C#類型(包含int和double等基元類型)均繼承自一個根object類型。因而,所有類型共用一組通用運算,任何類型的值都可以一致地進行存儲、傳輸和處理。此外,C#還支撐用戶定義的引證類型和值類型,從而支撐目標動態分配以及輕量級結構的內嵌式存儲。
為了保證C#程序和庫能夠繼續兼容,C#規划非常注重版別操控。許多編程言語很少關注此問題。因而,當引入新版依賴庫時,用這些言語編寫的程序會出現更多不必要的中斷現象。C#規划中受版別操控加強直接影響的方面包含:單獨的virtual和override修飾符,關於辦法重載決議計划的規矩,以及對顯式接口成員聲明的支撐。
在較新的版別中,C#包含了其他編程范例。C#包含支撐lambda表達式等功用編程技術的功用。其他新功用支撐分離數據和算法,例如形式匹配。