using System;
namespace CSharp7._0
{
class OutClass
{
public static void OutTest1(out string param)
{
param = "参数";
}
}
class BaseInfo
{
public BaseInfo(string param1, out string param2)
{
param2 = param1;
}
}
class SubInfo : BaseInfo
{
public SubInfo(string param1) : base(param1, out string param2)
{
Console.WriteLine(param2);
}
}
}
using System;
namespace CSharp7._0
{
class Point
{
public Point(string x, string y) => (X, Y) = (x, y);
public string X { get; set; }
public string Y { get; set; }
public void OutPut1(out string x, out string y) => (x, y) = (X, Y);
public static (int i, int j) Rang()
{
return (1, 2);
}
}
class Program
{
static void Main(string[] args)
{
//out关键字
OutClass.OutTest1(out string param);
Console.WriteLine(param);
SubInfo subInfo = new SubInfo("a1");
//元组
(string param1, string param2) paramAll = ("p1", "p2");
Console.WriteLine(paramAll.param1);
var pAll = (p1: "12", p2: 13);
Console.WriteLine(pAll.p2);
var p = (1, "2");
Console.WriteLine(p.Item1);
Point point = new Point("1", "2");
point.OutPut1(out string x, out string y);
Console.WriteLine(x);
(int i, int j) = Point.Rang();
Console.WriteLine(i);
//ref局部变量和返回结果
string s = null;
RefTest1(ref s);
Console.WriteLine(s);
//本地函数
Console.WriteLine(BdFun("张三"));
//增强泛型约束 见其他笔记
}
static void RefTest1(ref string s)
{
if (string.IsNullOrEmpty(s))
{
s = "ref参数";
}
}
static string BdFun(string name)
{
return Ben(name);
string Ben(string name)
{
return name + "1";
}
}
}
}