日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

關于 C# 12 新增功能實操!

來源: 責編: 時間:2024-07-25 16:38:57 305觀看
導讀今天咱們一起來探索并實踐 C# 12 引入的全新功能!注意:使用這些功能需要使用最新的 Visual Studio 2022 版本或安裝 .NET 8 SDK 。主構造函數主構造函數允許你直接在類定義中聲明構造函數參數,并自動生成相應的屬性。主

今天咱們一起來探索并實踐 C# 12 引入的全新功能!1fw28資訊網——每日最新資訊28at.com

注意:使用這些功能需要使用最新的 Visual Studio 2022 版本或安裝 .NET 8 SDK 。1fw28資訊網——每日最新資訊28at.com

1fw28資訊網——每日最新資訊28at.com

主構造函數

主構造函數允許你直接在類定義中聲明構造函數參數,并自動生成相應的屬性。1fw28資訊網——每日最新資訊28at.com

主構造函數參數的最常見用途包括:1fw28資訊網——每日最新資訊28at.com

  • 作為 base() 構造函數調用的參數。
  • 初始化成員字段或屬性。
  • 引用實例成員中的構造函數參數。

代碼示例

將任何參數放在類型名稱后面的括號中:1fw28資訊網——每日最新資訊28at.com

    public class CSharp12GrammarExercise    {        public static void OutputPrint()        {            var person = new Person("追逐時光者", 30);            Console.WriteLine($"{person.Name}, {person.Age}");        }    }    public class Person(string name, int age)    {        public string Name => name;        public int Age => age;    }

以下代碼初始化從主構造函數參數計算的兩個只讀屬性:1fw28資訊網——每日最新資訊28at.com

    public class CSharp12GrammarExercise    {        public static void OutputPrint()        {            // 創建 Distance 結構體實例            Distance distance = new Distance(10, 55);            // 訪問 Magnitude 和 Direction 屬性            Console.WriteLine($"Magnitude: {distance.Magnitude},Direction: {distance.Direction}");        }    }    public readonly struct Distance(double dx, double dy)    {        public readonly double Magnitude { get; } = Math.Sqrt(dx * dx + dy * dy);        public readonly double Direction { get; } = Math.Atan2(dy, dx);    }

集合表達式

集合表達式引入了一種新的簡潔語法,用于創建常用集合值。可以使用展開運算符(..)將其他集合內聯到這些值中。1fw28資訊網——每日最新資訊28at.com

(1) 下面的示例展示了集合表達式的用法:1fw28資訊網——每日最新資訊28at.com

        public static void CollectionExpressions()        {            // 創建一個數組            int[] array = [55, 99, 100, 33];            // 創建一個列表            List<string> list = ["one", "two", "three", "five", "追逐時光者"];            // 創建一個 Span            Span<char> span = ['a', 'b', 'c', 'd', 'e', 'f', 'h', 'i', 'k'];            // 創建一個交錯二維數組            int[][] two2D = [[1, 2, 3], [4, 5, 6], [7, 8, 9], [88, 8, 9]];        }

(2) 展開運算符(..)示例代碼:1fw28資訊網——每日最新資訊28at.com

展開運算符(集合表達式中的 ..)可將其參數替換為該集合中的元素。 參數必須是集合類型。 以下示例演示了展開運算符的工作原理:1fw28資訊網——每日最新資訊28at.com

            int[] item0 = [88, 2, 3];            int[] item1 = [22, 5, 6];            int[] item2 = [7, 99, 9];            int[] totalList = [.. item0, .. item1, .. item2];            foreach (var element in totalList)            {                Console.Write($"{element}, ");            }

沒有.. 會有異常:1fw28資訊網——每日最新資訊28at.com

1fw28資訊網——每日最新資訊28at.com

正常輸出:1fw28資訊網——每日最新資訊28at.com

1fw28資訊網——每日最新資訊28at.com

內聯數組

內聯數組用于提高應用程序性能,允許在結構體中創建固定大小的數組。雖然你可能不會自己聲明內聯數組,但當它們通過 System.Span<T> 或 System.ReadOnlySpan<T> 從運行時 API 暴露出來時,你可以透明地使用它們。內聯數組提供與不安全固定大小緩沖區類似的性能特性。1fw28資訊網——每日最新資訊28at.com

內聯數組的聲明與下面的結構類似:1fw28資訊網——每日最新資訊28at.com

    [System.Runtime.CompilerServices.InlineArray(20)]    public struct Buffer    {        private int _element0;    }

你可以像使用其他數組一樣使用它們:1fw28資訊網——每日最新資訊28at.com

        public static void InlineArrays()        {            var buffer = new Buffer();            for (int i = 0; i < 20; i++)            {                buffer[i] = i;            }            foreach (var i in buffer)            {                Console.WriteLine(i);            }        }

默認 lambda 參數

現在可以為 Lambda 表達式的參數定義默認值,語法和規則與將參數的默認值添加到任何方法或本地函數相同。1fw28資訊網——每日最新資訊28at.com

如果 lambda 表達式只有一個輸入參數,則括號是可選的:1fw28資訊網——每日最新資訊28at.com

Func<double, double> testcube = x => x * x * x;

兩個或更多輸入參數使用逗號加以分隔:1fw28資訊網——每日最新資訊28at.com

Func<int, int, bool> testForEquality = (x, y) => x == y;

可以顯式指定類型,如下面的示例所示:1fw28資訊網——每日最新資訊28at.com

注意:輸入參數類型必須全部為顯式或全部為隱式;否則,便會生成 CS0748 編譯器錯誤!!1fw28資訊網——每日最新資訊28at.com

Func<int, string, bool> isTooLong = (int x, string s) => s.Length > x;

任何類型的別名

可以使用 using 別名指令創建任何類型的別名,而不僅僅是命名類型。也就是說,你可以為元組類型、數組類型、指針類型或其他不安全類型創建語義別名。1fw28資訊網——每日最新資訊28at.com

使用 using 關鍵字為元組類型創建別名,并進行調用:1fw28資訊網——每日最新資訊28at.com

using PointTest = (int item1, int item2);namespace HelloDotNetGuide.CSharp語法{    public class CSharp12GrammarExercise    {        public static void OutputPrint()        {            //使用 using 關鍵字為元組類型創建別名,并進行調用:            PointTest point = (10, 20);            Console.WriteLine($"輸出:Item1={point.Item1}, Item2={point.Item2}");        }    }}

參考文章

  • 詳細功能介紹請閱讀微軟官方文檔:https://learn.microsoft.com/zh-cn/dotnet/csharp/whats-new/csharp-12
  • 文章示例源碼地址:https://github.com/YSGStudyHards/DotNetGuide/blob/main/DotNetGuidePractice/HelloDotNetGuide/CSharp%E8%AF%AD%E6%B3%95/CSharp12GrammarExercise.cs

本文鏈接:http://m.www897cc.com/showinfo-26-103571-0.html關于 C# 12 新增功能實操!

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 緩存框架 Caffeine 的可視化探索與實踐

下一篇: 干貨 | 攜程IT桌面全鏈路工具研發運營實踐

標簽:
  • 熱門焦點
Top 日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不
欧美激情第3页| 久久国产一二区| 亚洲精品视频在线观看网站| 亚洲欧洲免费视频| 一本色道**综合亚洲精品蜜桃冫| 亚洲网址在线| 久久精品亚洲| 欧美日本在线看| 欧美日韩综合视频| 国产一区二区三区黄视频| 亚洲电影有码| 一区二区三区蜜桃网| 欧美专区亚洲专区| 免费观看一区| 国产精品久久久久7777婷婷| 国产一区在线免费观看| 亚洲精品国产精品国产自| 亚洲一级电影| 久久久亚洲欧洲日产国码αv| 欧美精品1区2区3区| 国产欧美日韩精品在线| 亚洲激情国产精品| 午夜亚洲性色福利视频| 欧美粗暴jizz性欧美20| 国产精品老牛| 亚洲国产欧美一区二区三区同亚洲| 亚洲午夜在线视频| 美女脱光内衣内裤视频久久网站| 国产精品99一区| 在线国产日韩| 亚洲欧洲av一区二区| 欧美—级在线免费片| 国产亚洲永久域名| aa国产精品| 免费成人av资源网| 国产日韩高清一区二区三区在线| 亚洲激情二区| 久久国产欧美日韩精品| 国产精品yjizz| 亚洲国产婷婷香蕉久久久久久99 | 日韩视频一区二区| 久久精品国产96久久久香蕉| 欧美三级电影一区| 亚洲国产天堂久久综合网| 性欧美激情精品| 欧美日韩精品免费看| 影音先锋日韩资源| 性娇小13――14欧美| 欧美日韩综合精品| 在线观看欧美亚洲| 欧美在线视频网站| 国产精品高精视频免费| 亚洲精品在线二区| 男人的天堂成人在线| 国产一区二区看久久| 亚洲欧美成人综合| 国产精品jvid在线观看蜜臀| 亚洲裸体视频| 美女主播视频一区| 黑人极品videos精品欧美裸| 午夜国产不卡在线观看视频| 欧美日一区二区三区在线观看国产免| 亚洲黄色影院| 老司机67194精品线观看| 国产亚洲女人久久久久毛片| 亚洲欧美在线另类| 国产精品老女人精品视频| 一区二区三区精品视频在线观看 | 激情文学综合丁香| 久久大逼视频| 国产一区二区三区在线观看免费| 午夜精品免费| 国产精品视频一区二区三区| 亚洲一区不卡| 国产精品三上| 亚洲一区免费看| 亚洲精品日韩综合观看成人91| 久久久国产一区二区| 国产一区二区三区视频在线观看 | 噜噜噜躁狠狠躁狠狠精品视频| 韩日在线一区| 久久久久se| 激情成人综合网| 久久三级视频| 在线免费观看日韩欧美| 美腿丝袜亚洲色图| 亚洲黄页视频免费观看| 欧美交受高潮1| 亚洲国产美国国产综合一区二区| 免费欧美网站| 亚洲人成人99网站| 欧美日韩免费在线视频| 亚洲午夜在线观看视频在线| 国产精品福利影院| 午夜精品成人在线视频| 国产日韩视频| 久久亚洲精品欧美| 亚洲区免费影片| 欧美日韩免费在线观看| 亚洲一区二区三区精品动漫| 国产精品一区二区三区乱码| 久久av一区二区三区| 精品va天堂亚洲国产| 欧美va亚洲va国产综合| 999在线观看精品免费不卡网站| 欧美日韩国产影院| 亚洲欧美国产精品专区久久| 国产一区二区三区久久| 老色鬼久久亚洲一区二区 | 亚洲一区二区三区欧美| 国产情人节一区| 久久久久久久综合色一本| 亚洲高清av在线| 欧美日韩国产综合视频在线| 亚洲免费一区二区| 国内在线观看一区二区三区| 欧美成人r级一区二区三区| 亚洲精品乱码久久久久| 欧美亚州一区二区三区| 久久精品国产第一区二区三区最新章节| 激情婷婷欧美| 欧美日韩国产专区| 性做久久久久久久免费看| 在线日本成人| 欧美午夜电影一区| 久久国产天堂福利天堂| 亚洲日本欧美在线| 国产精品日韩欧美一区| 久久深夜福利免费观看| 夜夜嗨av一区二区三区| 国产一区亚洲| 欧美日韩的一区二区| 性做久久久久久久免费看| 亚洲国产精品va在看黑人| 国产精品黄页免费高清在线观看| 久久久久国产精品一区三寸| 日韩一级黄色av| 国产原创一区二区| 欧美日韩亚洲91| 久久精品中文字幕一区| 一本久道久久综合中文字幕 | 99国产精品自拍| 国户精品久久久久久久久久久不卡| 免费看精品久久片| 先锋影音久久久| 亚洲精品一区二区在线观看| 国产日韩欧美在线一区| 欧美欧美全黄| 久久噜噜噜精品国产亚洲综合| aa国产精品| 亚洲大片在线观看| 国产精品自在线| 欧美精品18+| 久久久久这里只有精品| 亚洲在线视频一区| 亚洲精品日韩一| 在线观看视频欧美| 国产美女精品视频免费观看| 欧美日韩p片| 免费av成人在线| 欧美在线一区二区| 亚洲一二三区在线观看| 亚洲国产专区| 狠狠色丁香婷婷综合久久片| 国产精品乱子乱xxxx| 欧美母乳在线| 欧美成人激情视频| 久久久久久久网| 午夜日韩福利| 亚洲视频在线观看网站| 亚洲精品日韩精品| 亚洲第一黄色| 激情五月综合色婷婷一区二区| 国产乱码精品一区二区三| 欧美日韩一级视频| 欧美激情在线有限公司| 蜜桃av一区二区| 久久精品九九| 欧美一区二区三区久久精品茉莉花| 一本色道久久综合狠狠躁的推荐| 亚洲激情不卡| 亚洲第一黄网| 亚洲国产成人久久综合一区| 韩国三级电影一区二区| 国产麻豆精品久久一二三| 国产精品啊v在线| 欧美日韩一二三区| 欧美日韩视频在线第一区| 欧美国产日韩a欧美在线观看| 久久亚洲视频| 久久婷婷久久| 久久亚洲综合网| 久久一区二区三区av| 久久久久久自在自线| 久久久7777| 久久久精彩视频| 久久久久久久久一区二区| 久久精品99无色码中文字幕| 欧美在线视频观看| 欧美一区二区在线视频| 欧美在线国产精品| 久久精品国产综合精品| 久久成年人视频| 欧美资源在线|