全球共有10多个国家和地区1000多个平台,20万+商户使用
小白面试:你知道.NET与C#的关系吗?
作者: 谭智文 发布时间: 2023-04-22 2450 分类专栏: 后端开发
这个问题很大啊,但是很多.NET求职者都比较模糊。小白有一次面试被问到这个问题,.NET与C#有什么关系?C# 9能运行在.NET Framework3.5 吗?这还真给小白难到了,平时开发还真没有注意这个问题。面试官问这个问题说实话有点两面性,从普通开发的角度来讲,没有啥用,只要能写代码就可以;但是从面试官的观点来说,问这个问题可以了解你对.NET和C#的熟悉程度。当然面试官面试的是一个架构师,大可问这个问题。本文将讨论这个话题。
.NET与C#的关系
首先.NET与C#两者不是一个东西,.NET 是一个免费的跨平台开放源代码开发人员平台,用于生成多种类型的应用程序(免费的跨平台开放源代码针对.NET Core/.NET5/.NET6)。.NET是C#运行环境,而C#是开发语言, C# 能够生成在 .NET 中运行的多种安全可靠的应用程序;.NET公共语言运行时 (CLR) 是生成所有 .NET 应用的基础,运行时支持多种语言,有 C#、F# 和 Visual Basic 语言。
.NET的演进与其他开发语种有本质的区别。它的始终处于“不稳定的状态”,它的新版本除了增加一些新功能外还修改了前面版本的bug。.NET Framework与.NET Core有本质的区别,他们的运行原理发生了变化,.NET Core/.NET 5/.NET6的应用不再向下兼容.NET Framework,但类库可以通过.NET Standard协议规范得到兼容。C#语言不同,它的各个版本可以向下兼容,比如C#10是可以运行在.NET3.5的,当然有些新的特性是不能运行。C#和.NET两者没有必然的联系。
下面我们先用C#10版本用.NET6环境创建的控制台程序简单写个字符串并输出,然后新建一个.NET3.5的控制台程序同样运行在.NET6环境创建的代码。
- static void Main(string[] args)
- {
- string a = "abcs";
- Console.WriteLine($"test{a}");
- Console.ReadLine();
- }
.NET 6运行结果
.NET 3.5运行结果
由此可见,C#语言和.NET两者没有必然的联系。
谭智文
小当家ISV,重庆APP开发,小程序开发,软件系统开发 地址:重庆市南岸区南坪万达广场写字楼2栋19-6 联系电话:023-81361879
ICP备案号:渝ICP备15003473-1 增值电信业务许可证:
渝B2-15003473
渝公网安备 50010802005103号
友情链接: APP定制开发 小程序定制开发 MagicShop商城系统 酒类行业解决方案
重庆小当家互联网信息技术有限公司