极品飞车9补丁怎么用(极品飞车9怎么调中文版)

简介

传统上,一个典型的 C# 应用的入口文件是这样的:

 using System;
 
 namespace HelloWorld
 {
     class Program
     {
         static void Main(string[] args)
         {
             Console.WriteLine("你好,世界!");
         }
     }
 }

模板代码比较多,看上去很繁琐。C# 9.0 带来了顶级语句,以上代码可以简化为:

 using System;
 Console.WriteLine("你好,世界!");

感觉简洁舒服多了!当然,这也只是 C# 编译器的“奇淫技巧”,编译器实际上是自动帮你生成了 Main 函数。因此,以下几个使用限制应该很好理解。

  • 和 Main 函数一样,一个应用只能有一个文件有顶级语句
  • 顶级语句和 Main 函数不能混用,两者同样只能选用一种,如果两者混用, Main 函数的入口功能被忽略,同时发出编译警告。
  • 如果包含 using 语句,必须放在最前面。

命名空间和类型定义

包含顶级语句的文件也可以包含命名空间和自定义类型,但必须在顶级语句之后。

 // See https://aka.ms/new-console-template for more information
 // using 语句必须最先出现
 
 using Test;
 
 var student = new Student("小明", 12);
 Console.WriteLine(student);
 
 var person = new Person("张三");
 Console.WriteLine(person);
 
 // 类型定义必须在顶级语句之后
 public record Student(string Name, int Age);
 
 namespace Test
 {
     class Person
     {
         public Person(string name)
         {
             Name = name;
         }
         public string Name { get; private set; } = string.Empty;
 
         public void ChangeName(string name)
         {
             Name = name;
         }
     }
 }

应用参数

顶级语句可以通过 args 变量获取应用参数。

 if (args.Length > 0)
 {
     Console.WriteLine("应用获得了以下参数:");
     foreach (var arg in args)
     {
         Console.WriteLine(arg);
     }
 }
 else
 {
     Console.WriteLine("使用者没有提供参数");
 }

异步

比较神奇的是,顶级语句直接支持 await 。

 Console.Write("你好 ");
 await Task.Delay(5000);
 Console.WriteLine("世界!");

结论

虽然只是编译器提供的一个小小语法糖,但确实是一个不错的改进。特别是对初学者非常友好,写教程时也能节省不少空间。另外在写Azure Functions 或者 GitHub Actions这样的场景也很有用。

本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 sumchina520@foxmail.com 举报,一经查实,本站将立刻删除。
如若转载,请注明出处:https://www.vsaren.com/11813.html