成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

.NET 7 為 C# 11和F# 7 帶來了更好的性能和新特性

開發(fā) 前端
微軟現(xiàn)在節(jié)奏越來越快,相信很多人還沒在生產(chǎn)上使用 .NET 6 , 7 就發(fā)布了,先來看看都有什么新特性吧。

2022 年 11 月 8 日,.NET 7 正式發(fā)布了,從 11 月 8 號 到 10 號,線上的 .NET Conf 2022 會議正在舉行,可以通過 https://www.dotnetconf.net/ 了解相關情況。

微軟現(xiàn)在節(jié)奏越來越快,相信很多人還沒在生產(chǎn)上使用 .NET 6 , 7 就發(fā)布了,先來看看都有什么新特性吧。

.NET 7 為 C# 11/F# 7 帶來了更好的性能和新特性,體現(xiàn)在 .NET MAUI,ASP.NET Core/Blazor ,Web API,WinForms,WPF 等等。

.NET 7 在 Visual Studio 17.4.0 版本中支持,17.4.0 版本是 Visual Studio 2022的第三個長期服務渠道 (LTSC) ,17.4 LTSC 版本將支持到 2024 年 7 月 11 日。如果已經(jīng)安裝了 Visual Studio 2022 ,可以直接更新,也可以通過下面地址下載安裝:

https://dotnet.microsoft.com/zh-cn/download。

我個人比較關注的是工具和語言。

更新 Visual Studio

在幫助中點擊檢查更新就可以啟動更新,需要等待更新的下載:

圖片

更新完成后重啟電腦,再打開 Visual Studio ,就可以看到框架選擇中有 .NET 7.0 了。

圖片

Visual Studio 的改進

選擇文本匹配項高亮顯示

在「工具->選項->文本編輯器->常規(guī)」界面可以開啟「顯示 selection 匹配項」。

圖片

勾選此項后,在編輯器中選擇某個文本,編輯器其他有選擇文本的地方會進行高亮顯示,滾動條中也顯示了標記來指示哪些位置有和選擇文本相同的文本。

圖片

目前,它只適用于長度小于 200 個字符的字符串,并且所有字符都在一行上。

音頻提示

在「工具->選項->文本編輯器->常規(guī)」界面可以開啟啟用音頻提示,需要重新啟動 VisualStudio 生效。

圖片

啟用后,編輯器中某一個行設置了斷點,或者這一行的代碼有警告或者錯誤,光標移動到這一行時,Visual Studio 會播放一個聲音。

斷點因為有高亮背景色,有沒有提示音都行,警告和錯誤,有時不太容易看出來,這個聲音就能起到作用了。

DataTable 可視化工具

在調(diào)試時,DataTable 可以直接打開成一個列表,在這個列表界面中可以進行搜索和導出成 Excel 。

圖片

當然,Visual Studio 17.4 還有更多的新增特性,可以參考下面地址:

https://devblogs.microsoft.com/visualstudio/visual-studio-2022-17-4/。

C# 11

原始字符串

在 C# 中字符串是用雙引號包含起來的內(nèi)容,這個內(nèi)容中可能還會有各種符號,比如:斜杠、雙引號、單引號等等,像 json 、xml 內(nèi)容中就經(jīng)常出現(xiàn)雙引號,之前需要使用轉(zhuǎn)義符來進行處理,而在 C# 11 中可以使用三個引號包含字符串內(nèi)容,來實現(xiàn)原始字符串,這個功能真是太喜歡了。

[HttpGet]
public string Get()
{
string sql = """這是一個原始字符串,名字為"oec2003",加上斜杠/a/b \c\d 單引號 ''""";

return sql;
}

運行結(jié)果:

圖片

自動默認結(jié)構(gòu)

在 C# 10 或更早版本中,創(chuàng)建結(jié)構(gòu)時,必須初始化所有字段值。如果有字段沒有初始化,會有編譯錯誤。C# 11 引入了 「自動默認結(jié)構(gòu)」,它會初始化字段為默認值。

比如在 C# 10 中,會出現(xiàn)這樣的錯誤:

圖片

C# 11 中這段代碼是可以正常執(zhí)行,Age 會被初始化為 0 。

必要成員

當一個類的屬性需要強制在類初始化時進行賦值的時候,就可以用 required 關鍵字進行修飾:

public class User
{
public required string UserName { get; init; }
public required int Age { get; init; }
}

在創(chuàng)建 User 對象時,如果沒有初始化 UserName 和 Age 就會出現(xiàn)錯誤,如下圖:

圖片

列表模式

從 C# 11 開始,數(shù)組或列表可以與元素序列相匹配,元素序列就是一組由中括號括起來的元素,匹配使用 is 關鍵字。

int[] testArray = { 1, 2, 3, 5, 8 };
bool result = false;
// result 值為 false, 最后一個數(shù)字沒有匹配
result = testArray is [1, 2, 3, 5, 9];
// result 值為 false, 元素的位置不一樣
result = testArray is [8, 1, 2, 3, 5];
// result 值為 false, 長度沒有匹配
result = testArray is [1, 2, 3, 5];
// result 值為 true, 元素、長度、位置都匹配
result = testArray is [1, 2, 3, 5, 8];

列表模式有三種不同的方式:Discard pattern、Range pattern、Var pattern

Discard pattern:

比如還是上面例子中的數(shù)組 testArray ,想要知道是否匹配第一個元素為 1 ,可以這樣來實現(xiàn):

int[] testArray = { 1, 2, 3, 5, 8 };
bool result = false;
// result 值為 true,序列的長度和數(shù)組匹配,第一個元素也是 1
result = testArray is [1, _, _, _, _];
  • 序列的長度要和數(shù)字相同。
  • 序列中不用匹配的元素可以使用 _ 進行忽略。

Range pattern:

在匹配時,如果序列中元素個數(shù)是未知的,那么 Range pattern 就可以起作用。使用兩個點可以用來指定任意數(shù)量的元素,兩個點只能在序列中使用一次。

int[] testArray = { 1, 2, 3, 5, 8 };
bool result = false;
// result 值為 true,.. 表示 5之前的,_ 表示最后一個元素,這個匹配的是倒數(shù)第二個是 5
result = testArray is [..,5,_];

Var pattern:

在這個模式中,可以在 var 關鍵字后面加變量,匹配上的元素的值會賦值給變量。

int[] testArray = { 1, 2, 3, 5, 8 };
if(testArray is [..,var lastNum])
{
// lastNum 的之為 8
Console.WriteLine($"最后一個元素是:{lastNum}");
}

其他的特性,如:對靜態(tài)成員進行抽象等,我覺得可以單獨寫文章來介紹。

最近因為項目原因,寫了一些 Java 代碼,相比之下,C# 優(yōu)雅太多了,希望 .NET 能越來越好,在國內(nèi)得到更多的認可。

責任編輯:姜華 來源: 不止dotNET
相關推薦

2024-04-28 09:01:06

React 19更新前端

2009-08-20 18:13:03

F#和C#

2009-07-06 11:00:56

.NET 4.0新特性.NET

2023-12-02 08:55:18

Paru 2.0

2021-10-11 09:22:39

Windows 11Linux子系統(tǒng)Windows

2009-05-26 16:12:43

Visual StudC#命名

2011-07-13 13:23:04

Java 7C#

2010-04-07 09:46:05

2009-05-27 11:30:20

C#Visual Stud協(xié)變

2012-12-25 10:52:23

IBMdW

2010-01-15 08:33:13

F#F#類型推斷F#教程

2009-08-19 16:50:32

Visual C#C#語言特性

2010-04-07 16:51:59

F#

2009-08-06 16:36:20

研究C#和.Net

2009-04-10 09:10:07

Windows 7微軟操作系統(tǒng)

2025-03-17 03:00:00

C#性能并行處理

2023-01-11 15:17:01

gRPC.NET 7

2009-08-04 14:23:55

C# Actor

2024-09-25 16:31:02

2009-08-26 17:10:09

C# 3.5新特性
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品久久久久久中文字 | 亚洲午夜精品一区二区三区他趣 | 人人99 | 国产电影一区 | 亚洲 自拍 另类 欧美 丝袜 | 久久黄视频 | 毛片国产 | 欧美一区二区三区在线观看 | 亚洲一区二区三区 | 欧美日韩毛片 | av激情在线 | 久草网站 | 在线免费观看黄a | 天天干天天爱天天爽 | 91免费电影 | 中文字幕在线精品 | 国产成人在线一区二区 | 中文字幕成人在线 | 亚洲高清在线 | 在线日韩欧美 | 91毛片在线观看 | 精品国产欧美一区二区三区成人 | 日本中文在线 | 91se在线| 国产欧美在线一区二区 | 日韩在线欧美 | 免费观看日韩av | 91婷婷韩国欧美一区二区 | 国产精品777一区二区 | 国产精品国产精品国产专区不卡 | aaa大片免费观看 | 手机av在线 | 自拍偷拍中文字幕 | 久久久久久黄 | 亚洲欧美中文字幕 | 国产精品揄拍一区二区 | 国产精品小视频在线观看 | 日韩精品免费播放 | 亚洲高清久久 | 欧美国产视频 | 永久精品 |