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