日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
如何在 C#9 中使用程序 (Top-Level)

本文轉載自微信公眾號「碼農(nóng)讀書」,作者碼農(nóng)讀書 。轉載本文請聯(lián)系碼農(nóng)讀書公眾號。

成都創(chuàng)新互聯(lián)公司主要從事網(wǎng)頁設計、PC網(wǎng)站建設(電腦版網(wǎng)站建設)、wap網(wǎng)站建設(手機版網(wǎng)站建設)、響應式網(wǎng)站、程序開發(fā)、網(wǎng)站優(yōu)化、微網(wǎng)站、微信小程序等,憑借多年來在互聯(lián)網(wǎng)的打拼,我們在互聯(lián)網(wǎng)網(wǎng)站建設行業(yè)積累了豐富的成都網(wǎng)站建設、成都做網(wǎng)站、網(wǎng)站設計、網(wǎng)絡營銷經(jīng)驗,集策劃、開發(fā)、設計、營銷、管理等多方位專業(yè)化運作于一體。

當我們用 C# 進行編碼的時候,總需要寫很多的模板代碼,即使是最簡單的 console 程序,想象一下,如果去測試一個 類庫 或者 API 的功能,通常你會用 Console 程序去實現(xiàn),在開始工作的時候會發(fā)現(xiàn)你受到了 C# 標準模板的限制,業(yè)務邏輯必須要寫在 Main 里,如下代碼所示:

 
 
 
 
  1. class Program 
  2.    { 
  3.        static void Main(string[] args) 
  4.        { 
  5.            //todo 
  6.        } 
  7.    } 

頂級程序 是 C#9 中引入的一個新概念,允許你直接寫自己的業(yè)務邏輯而不必受到模板代碼的限制,頂級程序 是一個非常的特性,可以讓代碼更加的干凈,簡短和可讀,你可以通過頂級程序去探索新的 idea,這篇文章將會討論如何在 C#9 中使用頂級程序。

頂級程序

在 C# 9.0 之前,下面的寫法在 Console 程序中已經(jīng)是最小化的了。

 
 
 
 
  1. using System; 
  2. namespace IDG_Top_Level_Programs_Demo 
  3.     class Program 
  4.     { 
  5.         static void Main(string[] args) 
  6.         { 
  7.             Console.WriteLine("Hello World!"); 
  8.         } 
  9.     } 

在 C# 9.0 時代,可以祭出 頂級程序 來消除那些煩人的模板代碼,讓代碼的邏輯意圖更明顯,改造后的代碼如下:

 
 
 
 
  1. using System; 
  2. Console.WriteLine("Hello World!"); 

頂級程序中的方法

你也可以在頂級程序中使用方法,如下例子所示:

 
 
 
 
  1. System.Console.WriteLine(DisplayMessage("Joydip!")); 
  2. System.Console.Read(); 
  3. static string DisplayMessage(string name) 
  4.     return "Hello, " + name; 

程序跑起來后,控制臺將會輸出:Hello, Joydip!

頂級程序中的類

你也可以在頂級程序中使用類,結構體,枚舉,下面的代碼展示了如何使用。

 
 
 
 
  1. System.Console.WriteLine(new Author().DisplayMessage("Joydip!")); 
  2. System.Console.Read(); 
  3. public class Author 
  4.     public string DisplayMessage(string name) 
  5.     { 
  6.         return "Hello, " + name; 
  7.     } 

頂級程序的原理分析

現(xiàn)在我們來分析一下,頂級程序的底層邏輯到底是怎么樣的,它本質上是一種語法糖,一種編譯器的特性,也就是說你沒有寫模板代碼的時候,編譯器會幫你生成,替你負重前行,參考下面的代碼段。

 
 
 
 
  1. using System; 
  2. Console.WriteLine("Hello World!"); 

然后用在線工具 SharpLab https://sharplab.io/ 看一下編譯器替你補齊的代碼。

 
 
 
 
  1. using System; 
  2. using System.Diagnostics; 
  3. using System.Reflection; 
  4. using System.Runtime.CompilerServices; 
  5. using System.Security; 
  6. using System.Security.Permissions; 
  7. [assembly: CompilationRelaxations(8)] 
  8. [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] 
  9. [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] 
  10. [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] 
  11. [assembly: AssemblyVersion("0.0.0.0")] 
  12. [module: UnverifiableCode] 
  13. [CompilerGenerated] 
  14. internal static class 
  15.     private static void 
    $(string[] args) 
  16.     { 
  17.         Console.WriteLine("Hello World!"); 
  18.     } 

總的來說,頂級程序 非常適合那些想 快速試錯,驗證想法 的場景,有一點要特別注意,應用程序中只能僅有一個文件使用 頂級程序,如果存在多個,編譯器會拋出錯誤的,還有一點,如果你是 C# 新手,你可能不理解頂級程序的底層邏輯,更好的方式就是老老實實的使用原生模板代碼,當你主宰了 Main 后,你將會理解 頂級程序 是多么的短小精悍!

譯文鏈接:https://www.infoworld.com/article/3612196/how-to-use-top-level-programs-in-csharp-9.html


分享標題:如何在 C#9 中使用程序 (Top-Level)
標題路徑:http://m.5511xx.com/article/dpcghoo.html