Soru C # için doğru sürüm numaraları nelerdir?


C # için doğru sürüm numaraları nelerdir? Ne zaman çıktı? Neden herhangi bir cevap bulamıyorum C # 3.5?

Bu soru, öncelikli olarak, yanlış bir sürüm numarası kullanarak bir cevap arayanlara yardımcı olmaktır. C # 3.5. Umut, yanlış sürüm numarası ile bir cevap bulamayan herkesin bulacağıdır. bu soru sorup tekrar doğru sürüm numarası ile tekrar arayın.


2072


Menşei


Bu her şeyi anlamak için iyi bir kaynaktır. en.wikipedia.org/wiki/C_Sharp_(programming_language)
Sorunun bir parçası olmadığı için ikinci paragraf soru yerine yorumda bulunmamalıdır. - TankorSmash
@TankorSmash: Bence, nerede olduğunu tutmaya değer olduğu sorusunun bağlamı kadar önemli. IMO, elbette. - Jon Skeet
@TankorSmash, bu kendi kendine cevaplanmış bir soru olduğundan, açıklamaların (ikinci paragraf) orada olması ve yorumlarda kaybolmaması uygun görünmektedir. - YoungCoconutCode


Cevaplar:


C # dil sürümü geçmişi:

Bunlar C # sürümleri Bu yazı yazıldığı zaman bilinen:

OP'nin sorusuna yanıt olarak:

C # için doğru sürüm numaraları nelerdir? Ne zaman çıktı? C # 3.5 hakkında neden bir cevap bulamıyorum?

C # 3.5 diye bir şey yoktur - burada kafa karışıklığının sebebi C # 3.0'ın .NET 3.5'te olmasıdır. Ancak, dil ve çerçeve bağımsız olarak versiyonlandırılmıştır - CLR, 2.0 sürümünde .NET 2.0'dan 2.0'a, CLR 4.0'ı tanıtan .NET 4'e, hizmet paketlerine rağmen. .NET 4.5'deki CLR çeşitli geliştirmelere sahiptir, ancak sürüm belirsizdir: bazı yerlerde CLR 4.5 olarak adlandırılabilir (bu MSDN sayfası örneğin, bu şekilde ifade etmek için kullanılır, ancak Environment.Version özellik hala rapor 4.0.xxx.

Dil, çalışma zamanı ve çerçeve sürümleri arasındaki ilişki hakkında daha ayrıntılı bilgi edinebilirsiniz. Derinlik C # bir site. Bu, .NET 2.0'ı hedeflerken kullanabileceğiniz C # 3.0'ın özellikleri hakkında bilgiler içerir. (Eğer herkes içeriğin tamamını bu wiki cevabına getirmek isterse, hoş karşılanırlar.)

3 Mayıs 2017 itibariyle, C # Dil Ekibi, C # sürümleri ve github repo'larının özellikleri hakkında bir geçmiş oluşturdu: C # Dil Sürümlerinde Eklenen Özellikler. Ayrıca birde şu var yaklaşan ve yakın zamanda uygulanan dil özelliklerini izleyen bir sayfa.


2402



@cvraman: Sadece sayfanın artık değiştiğini ve bunu CLR 4.5 olarak görmediğini belirten bir e-posta aldım. Versiyonlama eğlenceli değil mi? :) - Jon Skeet
@cvraman: Şunu anlayacağım, çünkü şüpheliyim ki bazı yerler hala 4,5 olarak göreceksin, lanet olsun ... - Jon Skeet
Eşzamanlı koleksiyonlar da dahil olmak üzere önerilenler için: Bu bir liste dil özellikler değil iskelet Özellikler. WPF, vb. - Jon Skeet
AFAIK, C # için denilen tek kararlı ve güvenilir versiyonu Jon Skeet denir ... gerisi sadece sayılardır: D - Carls Jr.
@alper: Unity, .NET frameworkünün ve / veya çalışma zamanının belirli bir sürümü olarak C # 'nin belirli bir sürümü olmayacaktı. IIRC, CLR v2 üzerinde etkili, ancak .NET 3.5'in bazı yönleri olabilir. - Jon Skeet


C # 's sürüm numaraları ile uğraşırken en büyük sorun, Visual Studio ve .NET Framework arasındaki eşitlenmiş sürümleri nedeniyle olduğu ortaya çıktı .NET Framework'ün bir sürümüne bağlı olmaması gerçeği.

C # sürümü, çerçeve değil, derleyiciye bağlanır. Örneğin, Visual Studio 2008'de C # 3.0 yazabilir ve .NET Framework 2.0, 3.0 ve 3.5 hedefleyebilirsiniz. C # 3.0 nomenklatürü, kod sözdizimi ve desteklenen özelliklerin sürümünü aynı şekilde açıklar. ANSI C89, C90, C99 C. için kod sözdizimini / özelliklerini açıklar.

Şuna baksana Monove Mono 2.0'ın (çoğunlukla .NET Framework'ün ECMA teknik özelliklerinden 2.0 versiyonu) C # 3.0 sözdizimini ve özelliklerini desteklediğini göreceksiniz.


241



Çok doğru. Ama ben buna “bir problem” demezdim, daha ziyade “avantaj” dır. Benim şirket C # 4.0 tüm şaşırtıcı özelliklerini kullanarak bir 2.0-uygulama oluşturur - love it. - Alex
Kısacası, C # sürümleri .net çerçevesine değil, derleyiciye bağlıdır. - SHEKHAR SHETE


Bu, buradaki çoğu yanıtınkiyle aynıdır, ancak kolaylıkla tablolaştırılmıştır ve Visual Studio ve .NET sürümleri eksiksizdir.

╔════════════╦════════════╦══════════════╦═════════════╦══════════════╗
║ C# version ║ VS version ║ .NET version ║ CLR version ║ Release date ║
╠════════════╬════════════╬══════════════╬═════════════╬══════════════╣
║    1.0     ║    2002    ║    1.0       ║     1.0     ║   Feb 2002   ║
║    1.2     ║    2003    ║    1.1       ║     1.1     ║   Apr 2003   ║
║    2.0     ║    2005    ║    2.0       ║     2.0     ║   Nov 2005   ║
║            ║            ║    3.0       ║     2.0     ║   Nov 2006   ║
║    3.0     ║    2008    ║    3.5       ║     2.0     ║   Nov 2007   ║
║    4.0     ║    2010    ║    4.0       ║     4       ║   Apr 2010   ║
║    5.0     ║    2012    ║    4.5       ║     4       ║   Aug 2012   ║
║    5.0     ║    2013    ║    4.5.1     ║     4       ║   Oct 2013   ║
║            ║            ║    4.5.2     ║     4       ║   May 2014   ║
║    6.0     ║    2015    ║    4.6       ║     4       ║   Jul 2015   ║
║            ║            ║    4.6.1     ║     4       ║   Nov 2015   ║
║            ║            ║    4.6.2     ║     4       ║   Aug 2016   ║
║    7.0     ║    2017    ║              ║             ║   Mar 2017   ║
║            ║            ║    4.7       ║     4       ║   May 2017   ║
║    7.1     ║ 2017(v15.3)║              ║             ║   Aug 2017   ║
║            ║            ║    4.7.1     ║     4       ║   Oct 2017   ║
║    7.2     ║ 2017(v15.5)║              ║             ║   Dec 2017   ║
║            ║            ║    4.7.2     ║     4       ║   Apr 2018   ║
║    7.3     ║ 2017(v15.7)║              ║             ║   May 2018   ║
╚════════════╩════════════╩══════════════╩═════════════╩══════════════╝

Not: .NET geliştirme bugünlerde VS'den oldukça bağımsızdır, her birinin sürümleri arasında bir ilişki yoktur. bakınız: https://docs.microsoft.com/en-us/dotnet/framework/migration-guide/versions-and-dependenciesdaha fazlası için.


179



Cep telefonunda korkunç görünüyor. urgh! - Happypig375
Stackoverflow uygulamasında tamam görünüyorsa - Dileep
.NET Core sürümleri nedir? - Pac0
@ Pac0 .NET Core geliştirme, VS geliştirmeden oldukça bağımsızdır ve (açık kaynak olarak) izini tutmak zordur. Aslında tüm VS, .NET ve .NET Core oldukça hızlı yineleniyor. - nawfal


  • C # 1.0 Visual Studio.NET ile

  • C # 2.0 Visual Studio 2005 ile

  • C # 3.0 Visual Studio 2008 ile

  • C # 4.0 Visual Studio 2010 ile

  • C # 5.0 Visual Studio 2012 ile

  • C # 6.0 Visual Studio 2015 ile

  • C # 7.0 Visual Studio 2017 ile


164



C # 5 CTP Visual Studio 2010'un üzerine yükler. Son sürümün bunu yapacağına dair bir kanıtımız yoktur. LINQ CTP'nin Visual Studio 2005'te de yüklü olduğunu unutmayın. - Jon Skeet
Evet, kabul edildi, Visual Studio'nun bir sonraki sürümü gelmedikçe, Microsoft bunu yapmak için inisiyatif alacak. - iTSrAVIE


VERSİYONU_____DİL ÖZELLİKLERİ______MICROSOFT COMPILER

C # 1.0/1.2____Aralık 2001?/ 2003?___________Ocak 2002?

C # 2.0_______Eylül 2005________________Kasım 2005?

C # 3.0_______Mayıs 2006_____________________Kasım 2006?

C # 4.0_______Mart 2009 (taslak)______________Nisan 2010?

C # 5.0; Ağustos 2012'de .NET 4.5 ile yayımlandı

C # 6.0; .NET 4.6 2015 ile yayımlandı

C # 7.0; .NET 4.7 2017 ile yayımlandı


63



Aralık 2002’de C # 2.0 dil şartnamesini nereden aldınız? 2006 yılının Haziran ayında C # 4? Tamamen farklı olan ECMA sürümlerinden bahsetmediğinden emin misin? - Jon Skeet
sadece aşağıdaki bağlantıya bakın en.wikipedia.org/wiki/C_Sharp_(programming_language) - Pramodh


En yeni C # sürümlerini kontrol edebilirsiniz İşte C# Versions


36





C # Sürüm Geçmişi:

C #, Microsoft tarafından geliştirilen basit ve güçlü bir nesne yönelimli programlama dilidir.

C # 2002'de ilk sürümünden bu yana çok gelişti. C # .NET Framework 1.0 ile tanıtıldı.

Aşağıdaki tablo, C # 'nin her sürümünde tanıtılan önemli özellikleri listeler.

Enter image description here

Ve C # nin son sürümü C # Sürümleri.


35





Bu tablodaki sürümlerin çoğunu özetledim. Eksik olan sadece ASP.NET Core sürümleri olmalıdır. Ayrıca ASP.NET MVC'nin farklı sürümlerini de ekledim.

ASP.NET 5'in ASP.NET Core 1.0 olarak yeniden adlandırıldığını ve ASP.NET MVC 6'nın ASP.NET Core MVC 1.0.0 olarak yeniden adlandırıldığını unutmayın. Bu değişikliğin Ocak 2016 civarında gerçekleştiğine inanıyorum.

ASP.NET 5 RC1'in yayımlanma tarihini tabloya ekledim, ancak ASP.NET çekirdek 1.0 ve diğer çekirdek sürümlerini henüz eklemedim, çünkü kesin yayımlanma tarihlerini bulamadım. ASP.NET Core ile ilgili yayın tarihleriyle ilgili daha fazla bilgiyi buradan edinebilirsiniz: ASP.NET Core 1.0 (ASP.NET 5 / vNext) ne zaman yayınlanacak?

Version


32



Aynı tablodaki MVC'nin dürüst olmasının faydalı olacağından emin değilim ... bu sadece ayrı bir yayın programında etkili bir şekilde. - Jon Skeet
@Jon Bu doğru, sadece ihtiyaç duyabileceğimiz herkes için ekliyor, çünkü .NET framework'lerinin korelasyon yayın tarihlerini bulmaya çalıştım, böylece tüm sürüm geçmişini daha iyi anlayabiliyorum. - Mindless


MSDN makalelerini karşılaştırma "C # 2.0 Dil ve Derleyicisindeki Yenilikler" ve "Visual C # 2005'teki Yenilikler", C # major_version.minor_version" un derleyicinin sürüm numaralandırmasına göre oluşturulduğunu anlamak mümkündür.

Var .NET 1.1 ve VS 2003'e karşılık gelen C # 1.2 ve aynı zamanda Visual C # .NET 2003.

Ancak Microsoft'un daha da ötesinde, küçük versiyonu (noktadan sonra) sayıları arttırmak ya da sıfırdan başka bir yere sahip olmak için durdu. 0. Her ne kadar .NET 3.5'e karşılık gelen C # msdn.microsoft.com olarak adlandırıldığına dikkat edilmelidir. "Visual C # 2008 Service Pack 1".

İki paralel ad vardır: Büyük .NET / derleyici sürüm numaralandırması ve Visual Studio numaralandırması ile.

C # 2.0 bir eşanlamlı Visual C # 2005

C # 3.0, aşağıdakilere karşılık gelir (veya daha doğru şekilde hedefleyebilir):


24



Hayır, bu numaralamayı kullanmak istiyorsanız, .NET 3.5'e karşılık gelen C #, "Visual C # 2008" olarak adlandırılır. C # 3.0 özellikleri, "Visual C # 2008" 'te tanıtıldı. Bu nedenle, sayfada, "Visual C # 2008'in Orijinal Sürüm Sürümündeki Yenilikler" başlığı altında olduklarını belirttiniz. Örneğin, Visual Studio sürüm numaralarını kullanmak genel olarak kötü bir fikir olsa da, örneğin Mono ile oluştururken çok az anlam ifade ediyor. C # dili iyi belirlenmiş sürüm numaralarına sahiptir ... hangi C # ürününün orijinal olarak hangi Visual C # ürününü tanıttığını biliyoruz, ama aynı şey değiller. - Jon Skeet
@JonSkeet, hayır, yok. Size (ve başka bir cevaplayıcı) cevabınızı güncellemesini istemek istedim ama yorumum çok uzadı, sonra yanıt olarak karar verdim. Bilgi için teşekkürler - Gennady Vanin Геннадий Ванин
C # 3.0'ın VS 2005'te çalışabileceğini sanmıyorum. - nawfal