Apa nomor versi yang benar untuk C #? Apa yang keluar kapan? Mengapa saya tidak dapat menemukan jawaban tentang C # 3.5 ?
Pertanyaan ini terutama untuk membantu mereka yang mencari jawaban menggunakan nomor versi yang salah, misalnya C # 3.5 . Harapannya adalah bahwa siapa pun yang gagal menemukan jawaban dengan nomor versi yang salah akan menemukan pertanyaan ini dan kemudian mencari lagi dengan nomor versi yang benar.
Jawaban:
Riwayat versi bahasa C #:
Ini adalah versi C # yang diketahui pada saat penulisan ini:
Dispose
padaIEnumerator
s yang dilaksanakanIDisposable
. Beberapa fitur kecil lainnya.var
), ekspresi kueridynamic
), delegate dan interface generic variance, lebih banyak dukungan COM, argumen bernama, tipe data tuple dan parameter opsionalawait
dalamcatch
danfinally
,Add
metode ekstensi dalam inisialisasi koleksi.out
, fungsi lokal , literal biner, pemisah digit , dan pengembalian async sewenang - wenang .unmanaged
tipe generik .ref
penugasan kembali. Peningkatan yang tidak aman:stackalloc
inisialisasi,fixed
buffer terindeks yang belum dituntaskan,fixed
pernyataan khusus . Resolusi overloading ditingkatkan. Variabel ekspresi dalam inisialisasi dan kueri.==
dan!=
didefinisikan untuk tupel. Bidang dukungan properti otomatis sekarang dapat ditargetkan oleh atribut.new
ekspresi tipe-target , target diketik??
dan?
), pengembalian kovarian. Fitur minor: pengurutan santairef
danpartial
pengubah, pengecekan parameter nol, parameter abaikan lambda,int
s asli , atribut pada fungsi lokal, pointer fungsi , lambda statis, ekstensiGetEnumerator
, inisialisasi modul, perluasan parsial.Menanggapi pertanyaan OP:
Tidak ada yang namanya C # 3.5 - penyebab kebingungan di sini adalah bahwa C # 3.0 hadir di .NET 3.5. Bahasa dan kerangka kerja versi independen, - seperti CLR, yang pada versi 2.0 untuk .NET 2.0 sampai 3.5, .NET 4 memperkenalkan CLR 4.0, paket layanan meskipun. CLR di .NET 4.5 memiliki berbagai peningkatan, tetapi versinya tidak jelas: di beberapa tempat mungkin disebut sebagai CLR 4.5 ( halaman MSDN ini digunakan untuk merujuknya seperti itu, misalnya), tetapi
Environment.Version
properti masih melaporkan 4.0. xxxPada 3 Mei 2017, Tim Bahasa C # membuat riwayat versi dan fitur C # pada repositori GitHub mereka: Fitur Ditambahkan dalam Versi Bahasa C # . Ada juga halaman yang melacak fitur bahasa yang akan datang dan baru-baru ini diterapkan .
sumber
Ini sama dengan sebagian besar jawaban di sini, tetapi ditabulasi untuk kemudahan, dan memiliki versi Visual Studio dan .NET untuk kelengkapan.
Catatan: Pengembangan NET. Cukup independen dari VS hari ini, tidak ada korelasi antara masing-masing versi.
Lihat " .NET Framework versi dan dependensi " untuk lebih lanjut.
sumber
Masalah terbesar ketika berhadapan dengan nomor versi C # adalah kenyataan bahwa nomor itu tidak terikat dengan versi .NET Framework, yang tampaknya disebabkan oleh rilis yang disinkronkan antara Visual Studio dan .NET Framework.
Versi C # sebenarnya terikat ke kompiler, bukan kerangka kerja. Misalnya, dalam Visual Studio 2008 Anda dapat menulis C # 3.0 dan target .NET Framework 2.0, 3.0 dan 3.5. Nomenklatur C # 3.0 menjelaskan versi sintaksis kode dan fitur yang didukung dengan cara yang sama seperti ANSI C89, C90, C99 menggambarkan sintaks / fitur kode untuk C.
Lihatlah Mono , dan Anda akan melihat bahwa Mono 2.0 (kebanyakan diimplementasikan versi 2.0 dari .NET Framework dari spesifikasi ECMA) mendukung sintaks dan fitur C # 3.0.
sumber
C # 1.0 dengan Visual Studio.NET
C # 2.0 dengan Visual Studio 2005
C # 3.0 dengan Visual Studio 2008
C # 4.0 dengan Visual Studio 2010
C # 5.0 dengan Visual Studio 2012
C # 6.0 dengan Visual Studio 2015
C # 7.0 dengan Visual Studio 2017
C # 8.0 dengan Visual Studio 2019
sumber
MICROSOFT COMPILER
_____
SPESIFIKASI BAHASA VERSI______
C # 1.0 / 1.2
____
Desember 2001 ? / 2003 ?___________
Januari 2002 ?C # 2.0
_______
September 2005________________
November 2005 ?C # 3.0
_______
Mei 2006_____________________
November 2006 ?C # 4.0
_______
Maret 2009 (konsep)______________
April 2010 ?C # 5.0; dirilis dengan .NET 4.5 pada Agustus 2012
C # 6.0; dirilis dengan .NET 4.6 2015
C # 7.0; dirilis dengan .NET 4.7 2017
C # 8.0; dirilis dengan .NET 4.8 2019
sumber
C # Riwayat Versi:
C # adalah bahasa pemrograman berorientasi objek yang sederhana dan kuat yang dikembangkan oleh Microsoft.
C # telah berkembang pesat sejak rilis pertamanya pada tahun 2002. C # diperkenalkan dengan .NET Framework 1.0.
Tabel berikut mencantumkan fitur penting yang diperkenalkan di setiap versi C #.
Dan versi terbaru dari C # tersedia dalam Versi C # .
1 :
sumber
Saya telah merangkum sebagian besar versi dalam tabel ini. Satu-satunya yang hilang harus versi ASP.NET Core. Saya juga telah menambahkan berbagai versi ASP.NET MVC.
Perhatikan bahwa ASP.NET 5 telah berganti nama menjadi ASP.NET Core 1.0 dan ASP.NET MVC 6 telah berganti nama menjadi ASP.NET Core MVC 1.0.0. Saya percaya perubahan ini terjadi sekitar Januari 2016.
Saya telah memasukkan tanggal rilis ASP.NET 5 RC1 dalam tabel, tetapi saya belum memasukkan ASP.NET inti 1.0 dan versi inti lainnya, karena saya tidak dapat menemukan tanggal rilis yang tepat. Anda dapat membaca lebih lanjut tentang tanggal rilis mengenai ASP.NET Core di sini: Kapan ASP.NET Core 1.0 (ASP.NET 5 / vNext) dijadwalkan untuk rilis?
sumber
Anda dapat memeriksa versi C # terbaru di sini
sumber
Membandingkan artikel MSDN "Apa yang Baru di Bahasa C # 2.0 dan Kompiler" dan " Apa yang Baru dalam Visual C # 2005 ", adalah mungkin untuk menyimpulkan bahwa "C # major_version.minor_version" diciptakan sesuai dengan penomoran versi kompiler.
Ada C # 1.2 yang sesuai dengan. NET 1.1 dan VS 2003 dan juga dinamakan sebagai Visual C # .NET 2003 .
Tetapi lebih lanjut pada Microsoft berhenti untuk menambah nomor versi minor (setelah titik) atau memilikinya selain nol
0
,. Meskipun harus dicatat bahwa C # yang sesuai dengan. NET 3.5 dinamai dalam msdn.microsoft.com sebagai "Visual C # 2008 Paket Layanan 1" .Ada dua penamaan paralel: Dengan penomoran versi .NET / compiler utama dan penomoran Visual Studio.
C # 2.0 adalah sinonim untuk Visual C # 2005
C # 3.0 berkorespondensi (atau, lebih tepatnya, dapat menargetkan) ke:
sumber
C # 1.0 - Visual Studio .NET 2002
C # 1.2 - Visual Studio .NET 2003
C # 3 - Visual Studio 2008
C # 4 - Visual Studio 2010
C # 5 - Visual Studio 2012
C # 6 - Visual Studio 2015
C # 7.0 - Visual Studio 2017
C # 7.1 - Visual Studio 2017 versi 15.3
C # 7.2 - Visual Studio 2017 versi 15.5
C # 7.3 - Visual Studio 2017 versi 15.7
C # 8.0 - .NET Core 3.0 dan Visual Studio 2019 versi 16.3
[sumber]: https://github.com/dotnet/csharplang/blob/master/Language-Version-History.md
sumber
C # 8.0 adalah versi terbaru dari c # .it hanya didukung pada .NET Core 3.x dan versi yang lebih baru. Banyak fitur terbaru memerlukan pustaka dan fitur runtime yang diperkenalkan di .NET Core 3.x
Tabel berikut mencantumkan kerangka target dengan versi dan versi C # default mereka.
Sumber - versi bahasa C #
sumber