为什么C#要采用顶级语句?

.NET6发布后,C#10莫名引入了顶级语句,这是一种简化代码结构的语言特性。

在此之前,C#程序必须包含一个入口点,通常是Main方法,然后在该方法中编写主要的程序逻辑。
而使用顶级语句后,可以直接在文件的顶部编写执行代码,而无需显式地定义一个Main方法。

为啥要用顶级语句呢?
先来看官方的总结:
使用顶级语句,可以更轻松地创建简单的程序来探索新的算法。
可以尝试使用不同的代码片段来试验算法。了解了哪些可用后,
可以重构代码,使其更易于维护。接下来本文将介绍为什么引入了顶级语句。

为什么会引入

随着Python的普及,微软也与时俱进,抛弃了Main函数。当然还是如下几点。

1、简化入门:顶级语句使得编写小型程序或学习 C# 变得更加简单。你可以直接在文件中编写代码,而不必担心方法和类的结构。
2、减少模板代码:在传统的C#程序中,你需要定义类和方法,即使只是写一小段代码。顶级语句减少了这种冗余,使得代码更加紧凑和易读。
3、更自然的脚本体验:顶级语句让 C# 更接近脚本语言的使用体验。你可以像写Pyhton、java脚本一样编写一些简单的程序,而不必担心类和方法的声明。

此功能是不是多此一举呢?

由于使用习惯传统有main函数的.NET项目,突然来个顶级语句还真有点不习惯,
勇哥在创建项目的时候基本上是选择了禁用它。(如下图)
image.png

那么顶级语句做了彻底改变吗?它是多此一举吗?我们看看它的底层是啥?

首先新建一个顶级语句的.NET8的控制台项目,并输出如下代码。

Console.WriteLine("Hello, 欢迎关注dotNET开发跳槽!");

然后我们使用ILspy反编译工具来看看生成的代码是啥?

结论:经过反编译底层还是有main方法。
可以说明C#本质上没有改变,主要还是为开发者提供更简洁、更易上手的编程体验。
从某种意义上来说它也是C#的语法糖。


本文出自勇哥的网站《少有人走的路》wwww.skcircle.com,转载请注明出处!讨论可扫码加群:
本帖最后由 勇哥,很想停止 于 2024-05-29 08:19:51 编辑

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

会员中心
搜索
«    2025年4月    »
123456
78910111213
14151617181920
21222324252627
282930
网站分类
标签列表
最新留言
    热门文章 | 热评文章 | 随机文章
文章归档
友情链接
  • 订阅本站的 RSS 2.0 新闻聚合
  • 扫描加本站机器视觉QQ群,验证答案为:halcon勇哥的机器视觉
  • 点击查阅微信群二维码
  • 扫描加勇哥的非标自动化群,验证答案:C#/C++/VB勇哥的非标自动化群
  • 扫描加站长微信:站长微信:abc496103864
  • 扫描加站长QQ:
  • 扫描赞赏本站:
  • 留言板:

Powered By Z-BlogPHP 1.7.2

Copyright Your skcircle.com Rights Reserved.

鄂ICP备18008319号


站长QQ:496103864 微信:abc496103864