4、使用可空类型 public static Vector operator +(vector op1, Vector op 2) try double newX=op1.R Value Sin(op1. ThetaRad i ans Value) op2R. Value Sin(op2. ThetaRadi ans. value double newY= op1. R Value Cos(op1. ThetaRadi ans. Value) op2R Value Cos(op2. ThetaRadi ans. value double newr Sart (newX newX newY newY) double new Theta Atan2(newX, newY)* 180.0/ PI return new Vector(newR, new Theta) catch I return new Vector(nul l, nul D);j publ ic static Vector operator -(Vector op1)=>new Vector (-op1. R, op1. Theta) public static Vector operator -(Vector op1, Vector op2)=>op1 + (op 2) ubl ic overr ide str ing toStr ing o str ing rStr =R HasValue R. ToStr ingo str ing thetaStr Theta Has Value Theta. ToStr ingo: "nul I return str ing Format(s"(rStr, IthetaStr))")
4、使用可空类型
4、使用可空类型 static double? GetNul lab leDouble o double? result. string user Input ReadLine o try result double Parse(user Input) catch resu nu return result static Vector GetVector(str ing name Write ine($"请输入矢量{name}的大小值:"); double? r =GetNul lableDouble o Wr iteL ine($"请输入矢量{name}的角度值:") double? theta =GetNul l ableDouble o return new Vector(r, theta
4、使用可空类型
4、使用可空类型 输入两个矢量,计算其相加和相减的结果。 static void Main(str ing[ args) Vector v1 =GetVector("vector 1") Vector v2=GetVector(vector 2") WriteLine(s"[v1)+v2)=v1+v2") WriteLine($"{v1}-{2}={v1-V2}"); ReadKey o
4、使用可空类型 输入两个矢量,计算其相加和相减的结果
4、使用可空类型 输入两个矢量,计算其相加和相减的结果。 请辅入矢量 vector的大小值 输入矢量 vector的角度值: 请输入矢量 vector 的大小值: 请输入矢量 vector2的角度值: 2838)+(18,9)=(32.9241552663087582594969552665) 283)-(18,9)=(198787848283389-24.7912868971449) 重 vector1的 25 请输入矢量 vector1的角度值: 请输入矢量 vector2的大小值: 请输入矢量 vector2的角度值: 25,nu11)+(nu11,68)=nu1l,nu11 25,nu11)-(nu11,68)=(nu11,nu11)
4、使用可空类型 输入两个矢量,计算其相加和相减的结果
5、委托 ■委托是一种存储函数引用的类型。 委托的声明类似于函数,但没有函数体,使用关键字 delegate 委托的声明指定了一个返回类型和一个参数列表。 ●定义委托后,就可以声明该委托类型的变量,把这个变量初始化 为与委托具有相同返回类型和参数列表的函数引用。之后,就可 以使用委托变量调用这个函数,即该变量就代表了这个函数
5、委托 委托是一种存储函数引用的类型。 委托的声明类似于函数,但没有函数体,使用关键字delegate。 委托的声明指定了一个返回类型和一个参数列表。 定义委托后,就可以声明该委托类型的变量,把这个变量初始化 为与委托具有相同返回类型和参数列表的函数引用。之后,就可 以使用委托变量调用这个函数,即该变量就代表了这个函数