小白面试:你知道.NET与C#的关系吗?

        这个问题很大啊,但是很多.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();
 }

da70901a51ef04eb514bfc171ab5202a.png

.NET 6运行结果

eefd93af4f9d2c6d9e014ea5436ac6a4.png

ae97d7c949741b701a84a8e3d2c94e29.png

.NET 3.5运行结果

由此可见,C#语言和.NET两者没有必然的联系。

结语

    本文简单的讲述了.NET与C#的关系,他们两者具体的东西还很多,大家可以翻阅官方文档查看它们两者的定义。希望本文给大家带来收获,欢迎大家留言讨论和提出异议。

技术群:添加小编微信并备注进群

小编微信:mm1552923   

公众号:dotNet编程大全    

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值