c#语言特性7.x

Posted zlgan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c#语言特性7.x相关的知识,希望对你有一定的参考价值。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Language._7._0

    public class Class1
    
        private string label;

        public static void run()
        

            //out 变量不需要在方法之外事先声明answer
            if (int.TryParse("123", out var answer))
                Console.WriteLine(answer);
            else
                Console.WriteLine("Could not parse input");

            //元组,需要引入包System.ValueTuple
            var alphabetStart = (Alpha: "a", Beta: "b");
            Console.WriteLine($"alphabetStart.Alpha, alphabetStart.Beta");
            (int max, int min) = Range();
            Console.WriteLine(max);
            Console.WriteLine(min);

            //数字文本和分隔符
            int Sixteen = 0b0001_0000;
            int ThirtyTwo = 0b0010_0000;
            long BillionsAndBillions = 100_000_000_000;


            //默认文本表达式,此处不赋值则编译不通过
            Func<string, bool> whereClause=default;
            Console.WriteLine($"默认文本表达式whereClause");

            //推断元组元素名称
            int count = 5;
            string label = "Colors used in the map";
            var pair = (count, label); // element names are "count" and "label"

        


        //ValueTask如果返回Task<T>,你需要额外的对象分配操作。使用ValueTask则不用

        public async ValueTask<int> Func()
        
            await Task.Delay(100);
            return 5;
        

        private static (int max, int min) Range()
        
            return (max: 5, min: 2);
           //或者
            //return (5, 2);

        

        //在 C# 7.0 中,你可以在属性 和索引器 上实现构造函数 、终结器 以及 get 和 set 访问器
        public string Label
        
            get => label;
            set => this.label = value ?? "Default label";
        

       

 

以上是关于c#语言特性7.x的主要内容,如果未能解决你的问题,请参考以下文章

C#语言特性发展史

C# vs Python: 语言特性Conda和Jupyter Notebook环境

C# 语言历史版本特性(C# 1.0到C# 8.0汇总)

C# 语言历史版本特性(C# 1.0到C# 8.0汇总)

C# 动态编程新特性与DLR剖析

C#语言主要特性总结