Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
var v = expr as Type;
if (v != null) {
// Используем v
}
if (c is Polar(5, *)) Console.WriteLine( R );берется R?
public static class Polar
{
public static bool operator is(Cartesian c, out double R, out double Theta)
{
R = Math.Sqrt(c.X*c.X + c.Y*c.Y);
Theta = Math.Atan2(c.Y, c.X);
return c.X != 0 || c.Y != 0;
}
public static bool operator is(Cartesian c, double R, out double Theta)
{
if(Math.Abs(Math.Sqrt(c.X*c.X + c.Y*c.Y)-R)>R*1e-6) return false;
Theta = Math.Atan2(c.Y, c.X);
return c.X != 0 || c.Y != 0;
}
}
Что нам готовит C# 7 (Часть 2. Pattern matching)