.NET5 教程嚐鮮 C#9 新語法(邏輯和屬性模式,記錄)

 

 代碼:

namespace ConsoleApp1
{

class Program
{
static void Main(string[] args)
{
//建立list數組,=號右邊可省略
List<student>? ts = new();
var StuA = new student("明明子", "1606", 18);
//直接複製更新StuA並賦值給StuB
var StuB = StuA with { Name = "BaiPiaoD" };
ts.Add(StuA);
ts.Add(StuB);
//根據屬性判斷
if (ts[0] is student or { Name: "明明子" } or { Age: >= 12 })
{
Console.WriteLine("或許捕捉到一隻成年明明子");
}
//根據屬性判斷
if (ts[1] is { Age: > 12 and < 23, Name: "BaiPiaoD" })
{
Console.WriteLine(ts[1].Name + GoodBoy(ts[1].Age));
}
//Switch語法,判斷參數age,返回不一樣的值
string GoodBoy(int age) => age switch
{
< 5 => "崽崽",
< 18 => "小屁孩",
< 50 => "猛男",
_ => "老傢伙"
};
}

}
//C#9包含一種稱爲記錄的新類型的類record。與常規類相比,它有許多優勢,其中一半與更簡潔的語法有關。
public record student(string Name, string Class, int Age);
}
相關文章
相關標籤/搜索