public class SharpSevenNewInfo { public static void Show() { //out变量声明 { //不需要提前声明 int.TryParse("111", out int result); Console.WriteLine(result); //可以声明var 类型 int.TryParse("111", out var result1); Console.WriteLine(result1); } //元组 { (string All, string Bota) name = ("11","22"); name.All = "aaa"; name.Bota = "bbb"; Console.WriteLine($"{name.All}-{name.Bota}"); var user1 = (ID: 1, Name: "22"); user1.ID = 2; user1.Name = "222"; Console.WriteLine($"{user1.ID}-{user1.Name}"); //调用函数返回元组,调用一个函数返回多个返回值 (int max, int min) = Range(); Console.WriteLine(max); Console.WriteLine(min); var p =new Point(12, 13); Console.WriteLine(p.X); Console.WriteLine(p.Y); //元组取值 p.Deconstruct(out var xx, out var yy); Console.WriteLine(xx); Console.WriteLine(yy); } //弃元,放弃一部分元素 { //元组返回多个值,不需要的可以用_ (_,var xx) = Range(); Console.WriteLine(xx); } //模式 { int input = 123; int sum = 234; //如果input等于int类型,把值赋给count,不需要声明 if (input is int count) sum += count; } } /// <summary> /// 返回元组,同时返回多个返回值 /// </summary> /// <returns></returns> private static (int max, int min) Range() { return (123,123); } public class Point { /// <summary> /// 元组函数赋值 /// </summary> /// <param name="x"></param> /// <param name="y"></param> public Point(double x, double y) => (X, Y) = (x, y); public double X { get; } public double Y { get; } /// <summary> /// 元组取值 /// </summary> /// <param name="x"></param> /// <param name="y"></param> public void Deconstruct(out double x, out double y) => (x, y) = (X, Y); } }
原文:https://www.cnblogs.com/lemonzwt/p/14617827.html