如何在C#9|如何在C#9 中使用顶级程序 (top-level)
目录
- 顶级程序
- 顶级程序中的方法
- 顶级程序中的类
- 顶级程序的原理分析
class Program{static void Main(string[] args){//todo}}
顶级程序 是 C#9 中引入的一个新概念,允许你直接写自己的业务逻辑而不必受到模板代码的限制,顶级程序 是一个非常的特性,可以让代码更加的干净,简短和可读,你可以通过顶级程序去探索新的 idea,这篇文章将会讨论如何在 C#9 中使用顶级程序。
顶级程序
在 C# 9.0 之前,下面的写法在 Console 程序中已经是最小化的了。
using System; namespace IDG_Top_Level_Programs_Demo{class Program{static void Main(string[] args){Console.WriteLine("Hello World!"); }}}
【如何在C#9|如何在C#9 中使用顶级程序 (top-level)】在 C# 9.0 时代,可以祭出 顶级程序 来消除那些烦人的模板代码,让代码的逻辑意图更明显,改造后的代码如下:
using System; Console.WriteLine("Hello World!");
文章图片
顶级程序中的方法
你也可以在顶级程序中使用方法,如下例子所示:
System.Console.WriteLine(DisplayMessage("Joydip!")); System.Console.Read(); static string DisplayMessage(string name){return "Hello, " + name; }
程序跑起来后,控制台将会输出:Hello, Joydip!
文章图片
顶级程序中的类
你也可以在顶级程序中使用类,结构体,枚举,下面的代码展示了如何使用。
System.Console.WriteLine(new Author().DisplayMessage("Joydip!")); System.Console.Read(); public class Author{public string DisplayMessage(string name){return "Hello, " + name; }}
顶级程序的原理分析
现在我们来分析一下,顶级程序的底层逻辑到底是怎么样的,它本质上是一种语法糖,一种编译器的特性,也就是说你没有写模板代码的时候,编译器会帮你生成,替你负重前行,参考下面的代码段。
using System; Console.WriteLine("Hello World!");
然后用在线工具 SharpLab https://sharplab.io/看一下编译器替你补齐的代码。
using System; using System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; using System.Security; using System.Security.Permissions; [assembly: CompilationRelaxations(8)][assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)][assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)][assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)][assembly: AssemblyVersion("0.0.0.0")][module: UnverifiableCode][CompilerGenerated]internal static class ${private static void$(string[] args){Console.WriteLine("Hello World!"); }}
总的来说,顶级程序 非常适合那些想 快速试错,验证想法 的场景,有一点要特别注意,应用程序中只能仅有一个文件使用 顶级程序,如果存在多个,编译器会抛出错误的,还有一点,如果你是 C# 新手,你可能不理解顶级程序的底层逻辑,更好的方式就是老老实实的使用原生模板代码,当你主宰了 Main 后,你将会理解 顶级程序 是多么的短小精悍!
以上就是如何在C#9 中使用顶级程序 (top-level)的详细内容,更多关于C#9 中使用顶级程序 (top-level)的资料请关注脚本之家其它相关文章!
推荐阅读
- 如何在Vue中使用高德地图
- Gmail(如何快速将邮件全部已读)
- web前端|为什么Web前端薪资如此高呢(总结了这4个原因)
- 前端|如何将项目上传到Gitee上
- 运维相关知识点
- 数据资产为王,如何解析企业数字化转型与数据资产管理的关系()
- pytorch如何计算平方_Pytorch深度学习入门--2.Tensor数学操作及线性代数运算
- Linux基础|Linux下如何安装.deb文件
- 阿里云体验有奖(如何将 PolarDB-X 与大数据等系统互通)
- 面试官: 线程池是如何做到线程复用的(有了解过吗,说说看)