共用方式為


語言功能和連結庫類型之間的關聯性

C# 語言定義要求標準函式庫中包含某些類型及某些可存取的成員。 編譯程式會產生程式代碼,以針對許多不同的語言功能使用這些必要類型和成員。 因此,只有對應的 .NET 版本和更新版本才支援 C# 版本。 這可確保正確的運行時間行為和所有必要的類型和成員的可用性。

此標準連結庫功能的相依性自第一個版本以來一直是 C# 語言的一部分。 在該版本中,範例包括:

  • Exception - 用於所有編譯程式產生的例外狀況。
  • String - 的同義字 string
  • Int32 - 的同義字 int

第一個版本很簡單:編譯程式和標準連結庫一起隨附,而且每個版本只有一個。

後續的 C# 版本偶爾會將新的類型或成員新增至相依性。 範例包括: INotifyCompletionCallerFilePathAttributeCallerMemberNameAttribute。 C# 7.0 新增對 ValueTuple 的相依性,以實現 元組 語言功能。 C# 8 需要 System.Index 範圍System.Range和索引,以及其他功能。 每個新版本可能會新增其他需求。

語言設計小組致力於將符合標準函式庫所需的類型和成員的表面範圍降到最低。 該目標與簡潔設計相平衡,其中新的程式庫功能會順暢地併入語言中。 未來版本的 C# 中將會有新功能,這些新功能需要標準連結庫中的新類型和成員。 C# 編譯程式工具現在與支援平臺上 .NET 連結庫的發行週期分離。