.NET 6 中的新增功能 | Microsoft Docs
目录
.NET 6 中的新增功能 | Microsoft Docs
一、项目全局引用
项目根目录新增Global.cs或Usings.cs(文件名也可任意)用于保存项目全局引用,这样每个项目cs文件就不需要再包含引用了
示例:
global using global::System;
global using global::System.Collections.Generic;
global using global::System.IO;
global using global::System.Linq;
global using global::System.Net.Http;
global using global::System.Threading;
global using global::System.Threading.Tasks;
global using global::CSharp6Sample.Models;
项目默认隐式引用:
可通过csproj 禁用隐式引用,默认enable启用:
<ImplicitUsings>disable</ImplicitUsings>
二、DateOnly & TimeOnly
Console.WriteLine("***************DateOnly******************");
DateOnly date = new DateOnly(2021, 10, 5);
Console.WriteLine(date);
DateOnly date1 = new(2021, 10, 5);
Console.WriteLine(date1);
Console.WriteLine(date1.ToString("yyyy-MM-dd"));
var date2 = DateOnly.FromDateTime(DateTime.Now);
Console.WriteLine(date2);
Console.WriteLine("***************TimeOnly******************");
TimeOnly time1 = TimeOnly.FromDateTime(DateTime.Now);
Console.WriteLine(time1);
TimeOnly time2 = new TimeOnly(21, 43);
Console.WriteLine(time2);
TimeOnly time3 = new(21, 43);
Console.WriteLine(time3);
Console.WriteLine(time3.ToString("HH:mm:ss"));
/*
output:
***************DateOnly******************
2021/10/5
2021/10/5
2021-10-05
2021/12/26
***************TimeOnly******************
22:01
21:43
21:43
21:43:00
*/
三、PriorityQueue 优先级队列
/* 优先级id最小先出队,如果优先级相同,那么先入后出 */
Console.WriteLine("***************PriorityQueue******************");
PriorityQueue<string, int> pq = new();
pq.Enqueue("Second", 2);
pq.Enqueue("Fourth 2", 4);
pq.Enqueue("Fourth 1", 4);
pq.Enqueue("Third 1", 3);
pq.Enqueue("Third 2", 3);
pq.Enqueue("First", 1);
while (pq.Count > 0)
{
string item = pq.Dequeue();
Console.WriteLine(item);
}
/*
output:
First
Second
Third 2
Third 1
Fourth 1
Fourth 2
*/