C#版本与.NET版本对应关系以及各版本的特性

C#版本与.NET版本对应关系以及各版本的特性

C#版本.NET版本发布日期特性
C# 1.0.NET Framework 1.02002-02-13委托、事件
C# 1.1.NET Framework 1.12003-04-24APM(异步编程模型)
C# 2.0.NET Framework 2.02005-11-07泛型、匿名方法、迭代器、可空类型
C# 3.0.NET Framework 3.02007-11-06隐式类型
.NET Framework 3.52007-11-19对象集合初始化、自动实现属性、匿名类型、扩展方法、查询表达式、Lambda表达式、 表达式树、分部类和方法、Linq
C# 4.0.NET Framework 4.02010-04-12动态绑定、命名和可选参数、泛型的协变和逆变、互操作性
C# 5.0.NET Framework 4.52012-08-15异步和等待(async和await)、调用方信息(Caller Information)
C# 6.0.NET Framework 4.62015-07-20静态导入、C# 6 中的新增功能
.NET Core 1.02016-06-27
C# 7.0.NET Framework 4.6.22016-08-02元组、C# 7.0 中的新增功能
C# 7.1.NET Framework 4.72017-04-05
.NET Core 2.02016-08-14.NET Core 2.0 的新增功能
C# 7.2.NET Framework 4.7.12017-10-17
C# 7.3.NET Framework 4.7.22018-04-30
.NET Core 2.12018-05-30.NET Core 2.1 的新增功能
.NET Core 2.22018-12-04.NET Core 2.2 的新增功能
C# 8.0.NET Framework 4.82019-04-18C# 8.0 中的新增功能
.NET Core 3.02019-09-23.NET Core 3.0 的新增功能
.NET Core 3.12019-12-03.NET Core 3.1 的新增功能
C# 9.0.NET 52020-09-04C# 9.0 中的新增功能
.NET 52020-10-13What's new in .NET 5
C# 10.0.NET 62021-11-09欢迎使用 C# 10 C# 10.0 中的新增功能
C# 11.0.NET 72022-11-08C# 11 中的新增功能
C# 12.0.NET 82023-06-14C# 12 中的新增功能

修改语言版本

在C#中,语言的新版本通常通过编译器的更新来提供。C# 8.0引入了许多新特性,如可空引用类型、异步流、范围索引等。要使用C# 8.0的特性,你需要确保你的开发环境中安装了支持C# 8.0的Visual Studio或者.NET Core SDK。

对于Visual Studio,你需要安装Visual Studio 2019,它默认支持C# 8.0的特性。对于.NET Core,你需要安装.NET Core 3.0或更高版本。

如果你已经在使用Visual Studio 2019或更高版本,或者安装了.NET Core 3.0或更高版本的SDK,那么你不需要进行任何操作来使用C# 8.0的特性。你可以在你的项目文件(.csproj)中指定语言版本,在如下所示:

<PropertyGroup>
  <LangVersion>8.0</LangVersion>
</PropertyGroup>

参考链接:

  • 9
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
引用\[1\]中的代码是一个示例,展示了如何在C#中实现一个接口,并将其封装为一个.dll文件。而引用\[2\]中的代码则展示了如何在C++中调用这个C#接口的中间层,并将其封装为一个.lib文件。最后,引用\[3\]中的代码展示了如何将C++接口封装为一个C++类,并在其中调用C#接口的函数。 要生成C#版本的C++接口,你可以按照以下步骤进行操作: 1. 创建一个C#项目,并将C++接口的代码复制到C#项目中。 2. 根据需要,将C++代码中的数据类型转换为C#对应的数据类型。例如,将LPCTSTR转换为string。 3. 根据C++代码中的函数调用,调用C#接口的对应函数。 4. 根据需要,将C++代码中的返回值和参数转换为C#对应的类型。 5. 编译C#项目,生成一个.dll文件。 请注意,生成C#版本的C++接口可能需要进行一些额外的调整和修改,以适应C#的语法和特性。具体的修改取决于你的C++接口的实现和需求。 希望这个回答对你有帮助!如果你还有其他问题,请随时提问。 #### 引用[.reference_title] - *1* *2* *3* [C#dll封装为c++接口](https://blog.csdn.net/Jane_Yih/article/details/128981977)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值