Bagikan melalui


Penerapan versi bahasa pemrogram C#

kompilator C# terbaru menentukan versi bahasa pemrogram default berdasarkan kerangka kerja target atau kerangka kerja proyek Anda. Visual Studio tidak menyediakan UI (antarmuka pengguna) untuk mengubah nilai, tetapi Anda dapat mengubahnya dengan mengedit file csproj. Pilihan default memastikan bahwa Anda menggunakan versi bahasa pemrogram terbaru yang kompatibel dengan kerangka kerja target Anda. Anda mendapat manfaat dari akses ke fitur bahasa pemrogram terbaru yang kompatibel dengan target proyek Anda. Pilihan default ini juga memastikan Anda tidak menggunakan versi bahasa yang memerlukan jenis atau perilaku runtime tidak tersedia dalam kerangka kerja target Anda. Memilih versi bahasa yang lebih baru dari default dapat menyebabkan kesalahan waktu kompilasi dan runtime yang sulit didiagnosis.

Referensi bahasa C# mendanai versi bahasa C# yang terbaru dirilis. Ini juga berisi dokumentasi awal untuk fitur dalam pratinjau publik untuk rilis bahasa yang akan datang.

Dokumentasi mengidentifikasi fitur apa pun yang pertama kali diperkenalkan dalam tiga versi terakhir bahasa atau dalam pratinjau publik saat ini.

Tip

Untuk menemukan kapan fitur pertama kali diperkenalkan di C#, lihat artikel tentang riwayat versi bahasa C#.

C# 14 hanya didukung pada .NET 10 dan versi yang lebih baru. C# 13 hanya didukung pada .NET 9 dan versi yang lebih baru. C# 12 hanya didukung pada .NET 8 dan versi yang lebih baru. Menggunakan versi bahasa C# yang lebih baru dari versi yang terkait dengan TFM target Anda tidak didukung.

Untuk detail tentang versi .NET mana yang didukung oleh versi Visual Studio, lihat halaman kompatibilitas platform Visual Studio .

Default

Kompilator menentukan default berdasarkan berbagai aturan ini:

Target Versi Default versi bahasa pemrogram C#
.NET 10.x C# 14
.NET 9.x C# 13
.NET 8.x C# 12
.NET 7.x C# 11
.NET 6.x C# 10
.NET 5.x C# 9.0
.NET Core 3.x C# 8.0
.NET Core 2.x C# 7.3
.NET Standar 2.1 C# 8.0
.NET Standar 2.0 C# 7.3
.NET Standar 1.x C# 7.3
.NET Framework all C# 7.3

Jika proyek Anda menargetkan preview kerangka kerja yang memiliki versi bahasa pratinjau yang sesuai, versi bahasa yang digunakan adalah versi bahasa pratinjau. Anda menggunakan fitur terbaru dengan pratinjau tersebut di lingkungan apa pun, tanpa memengaruhi proyek yang menargetkan versi .NET Core yang dirilis.

Referensi versi bahasa pemrogram C#

Tabel berikut ini memperlihatkan semua versi bahasa pemrogram C# saat ini. Pengkompilasi yang lebih lama mungkin tidak memahami setiap nilai. Jika Anda menginstal .NET SDK terbaru, Anda memiliki akses ke semua yang tercantum.

Nilai Makna
preview Kompilator menerima semua sintaks bahasa yang valid dari versi pratinjau terbaru.
latest Kompilator menerima sintaks dari versi kompilator terbaru yang dirilis (termasuk versi minor).
latestMajor
atau default
Kompilator menerima sintaks dari versi utama kompilator terbaru yang dirilis.
14.0 Pengkompilasi hanya menerima sintaksis yang disertakan dalam C# 14 atau yang lebih rendah.
13.0 Pengkompilasi hanya menerima sintaksis yang disertakan dalam C# 13 atau yang lebih rendah.
12.0 Pengkompilasi hanya menerima sintaksis yang disertakan dalam C# 12 atau yang lebih rendah.
11.0 Pengkompilasi hanya menerima sintaksis yang disertakan dalam C# 11 atau yang lebih rendah.
10.0 Kompilator hanya menerima sintaks yang disertakan dalam C# 10 atau lebih rendah.
9.0 Kompilator hanya menerima sintaks yang disertakan dalam C# 9 atau lebih rendah.
8.0 Kompilator hanya menerima sintaks yang disertakan dalam C# 8.0 atau lebih rendah.
7.3 Kompilator hanya menerima sintaks yang disertakan dalam C# 7.3 atau lebih rendah.
7.2 Kompilator hanya menerima sintaks yang disertakan dalam C# 7.2 atau lebih rendah.
7.1 Kompilator hanya menerima sintaks yang disertakan dalam C# 7.1 atau lebih rendah.
7 Kompilator hanya menerima sintaks yang disertakan dalam C# 7.0 atau lebih rendah.
6 Kompilator hanya menerima sintaks yang disertakan dalam C# 6.0 atau lebih rendah.
5 Kompilator hanya menerima sintaks yang disertakan dalam C# 5.0 atau lebih rendah.
4 Kompilator hanya menerima sintaks yang disertakan dalam C# 4.0 atau lebih rendah.
3 Kompilator hanya menerima sintaks yang disertakan dalam C# 3.0 atau lebih rendah.
ISO-2
atau 2
Kompilator hanya menerima sintaks yang disertakan dalam ISO/IEC 23270:2006 C# (2.0).
ISO-1
atau 1
Kompilator hanya menerima sintaks yang disertakan dalam ISO/IEC 23270:2003 C# (1.0/1.2).

Catatan

Menentukan LangVersion dengan nilai berbeda dari menghilangkan default. Menentukan default menggunakan versi terbaru bahasa yang didukung pengkompilasi, tanpa memperhitungkan kerangka kerja target. Misalnya, membangun proyek yang menargetkan .NET 6 dari versi Visual Studio 2022 saat ini menggunakan C# 10 jika LangVersion tidak ditentukan, tetapi menggunakan C# 12 jika LangVersion diatur ke default.