.NET Framework 与 C# 版本对应关系及部分特性

作者:vkvi 来源:千一网络(原创) 日期:2018-7-30

下面这个表摘自网上,并不是我的原创,我个人觉得 C# 3.0 开始很方便了。全文请参见:C# 语言历史版本特性(C# 1.0到C# 7.1汇总更新)

语言版本发布时间.NET Framework要求Visual Studio版本
C# 1.02002.1.NET Framework 1.0Visual Studio .NET 2002
C# 1.1\1.22003.4.NET Framework 1.1Visual Studio .NET 2003
C# 2.02005.11.NET Framework 2.0Visual Studio 2005
C# 3.02007.11.NET Framework 2.0\3.0\3.5Visual Studio 2008
C# 4.02010.4.NET Framework 4.0Visual Studio 2010
C# 5.02012.8.NET Framework 4.5Visual Studio 2012\2013
C# 6.02015.7.NET Framework 4.6Visual Studio 2015
C# 7.02017.3.NET Framework 4.6.2Visual Studio 2017
C# 7.12017.6.NET FrameworkVisual Studio 2017 v15.3预览版
C# 8.0待发布

C# 3.0 特性示例:

public Username { get; set; }

C# 4.0 特性示例:

string str = String.Join<int>(",", intList);

C# 6.0 特性示例:

public string Username { get; set; } = "admin"; // 自动属性赋初始值
public string FullName => $"{FirstName}{LastName}"; // 只读属性,返回值为 FirstName + LastName,知道 PHP 的都很轻松看懂。
string username = member?.Username; // 如果 member 为 null,返回 null,否则返回 member.Username。
string username = member?.Username ?? "admin"; // 如果 member 为 null,返回 admin,否则返回 member.Username。
myEvent?.Invoke(param); // 事件也可以,用 ?. 就不用人工判断事件是否为 null 了。

注意,上面的版本可能不一定准确,因为我在 .NET 4.0 中使用到了 ?. ?? 符号,这说明要么是版本与 .NET Framework 对应错了,要么是版本具有哪些特性弄错了。

你前面那位网友看了:如何在 .cs 文件中使用用户控件 .ascx

▲▲▲嘿,欢迎转载传播本站原创文章,尽量保留来源噢。▲▲▲

文章评论
标题:必填
内容:
本站永远终止与捏造“罪名”不支付广告费的某度联盟合作。
vkvi
vkvi

作者简介: vkvi,致力于 .NET Web 开发、移动开发的技术推广,在 .NET、SQL Server、Windows Server 等方面有深入研究和丰富经验,10 年间共计撰写文章 4000 余篇。 主持金融、国土、农业、电商等多个行业项目执行, 推行“技术提升生产力、人心决定成功率”的管理理论。 联系他