【C#】【命名空间(namespace)】.NET6.0后支持的顶级语句使用问题

创建C#项目且使用.Net6.0以上的版本时,默认code会使用顶级语句形式:

1、略去static void Main(String[ ] args)主方法入口;

2、隐式使用(即隐藏且根据代码所需要的类自动调用)其他命名空间(包括):

  • using System;
  • using System.IO;
  • using System.Collections.Generic;
  • using System.Linq;
  • using System.Net.Http;
  • using System.Threading;
  • using System.Threading.Tasks;

如果想精确的控制使用的命名空间可通过下述关闭隐式使用(implicitUsing):

1、选中项目,右键选择《编辑项目文件》,默认模板如下:

<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net6.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>

</Project>

2、在<PropertyGroup>标签内添加下述标签后保存即可关闭隐式使用:

<ImplicitUsings>disable</ImplicitUsings>

 

其他问题:

在C#10之后,每个文件只有一个命名空间时,可以使用简易命名空间定义,即:

原namespace形式为

namespace xxx

{

coding section

}

可修改为

namespace xxx;

coding section

 

!!!注意,简易命名空间需要在所有的类型定义之前,所以会和顶级语句产生冲突。

 

参考地址:.NET 6+ 中的 C# 控制台应用模板更改 - .NET | Microsoft Learn

posted @ 2023-09-17 20:14  VanGoghpeng  阅读(360)  评论(0编辑  收藏  举报