专栏名称: dotNET跨平台
专注于.NET Core的技术传播。在这里你可以谈微软.NET,Mono的跨平台开发技术。在这里可以让你的.NET项目有新的思路,不局限于微软的技术栈,横跨Windows,Linux 主流平台
今天看啥  ›  专栏  ›  dotNET跨平台

.NET9里面Main另类写法

dotNET跨平台  · 公众号  ·  · 2024-06-22 07:52
    

文章预览

点击上方 蓝字 江湖评谈 设为关注/星标 前言 在一些Soure Code看到 有部分 函数(比如Main)多变体类型返回,及其所在类型变化等。较高的自由度,本篇来看下。 Program+Main 一个新建的常规.NET控制台程序如下: class   Program {      static   void   Main ( string [] args )     {      } } 注意看Program是个类,即引用类型,但它可以写成struct值类型。Main函数的返回值是void,但它的返回值可以写成int类型,byte,char,string类型。比如说值类型的Program,以及返回int的类型,如下代码: struct Program {      static   int Main ( string [] args )     {           } } 这种情况得益于CLR调用Main入口的时候的一套逻辑,即if----else。CLR会判断Main的MethodDesc是否是void类型,如果是则if。否则就可以有其其它的返回类型,这个其它返回类型众多,也即是上面所说。此段逻辑代码: ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览