关于#c##的问题:我想知道怎么才能返回resultP的值,然后这个值是有resultP.x和resultP.y的现在运行是返回空值

我想知道怎么才能返回resultP的值,然后这个值是有resultP.x和resultP.y的
现在运行是返回空值

namespace ConsoleApp2
{
    class Point
    {
        public double x;
        public double y;
    }
}
namespace ConsoleApp2
{
    class QFJH:AbstractCalculation
    {
        public override Point Crosscal(Point pa, Point pb, double a, double b)
        {
            Point resultP= new Point();
            resultP.x = (pa.x * (1 / Math.Tan(b)) + pb.x * Math.Tan(a) - pa.y + pb.y) / ((1 / Math.Tan(a) + (1 / Math.Tan(b))));
            resultP.y = (pa.y * (1 / Math.Tan(b)) + pb.y * Math.Tan(a) + pa.x - pb.x) / ((1 / Math.Tan(a) + (1 / Math.Tan(b))));
            
            return resultP;
        }
    }
}

调用代码

           Point paa= new Point();
            paa.x = 1.0;
            paa.y = 1.0;
            Point pbb=new Point();
            pbb.x = 5.5;
            pbb.y = 6.6;
            double aa = 45;
            double bb = 63;
            Point resultPP = new Point();
            //角度前方交会计算
            AbstractCalculation ac = new QFJH();
            resultPP=ac.Crosscal(paa,pbb,aa,bb);

没问题啊,完整代码是什么

using System;
namespace ConsoleApp2
{
    class Point
    {
        public double x;
        public double y;
    }
    class AbstractCalculation
    {
        public virtual Point Crosscal(Point pa, Point pb, double a, double b)
        {
            throw new Exception("TODO");
        }
    }
    class QFJH : AbstractCalculation
    {
        public override Point Crosscal(Point pa, Point pb, double a, double b)
        {
            Point resultP = new Point();
            resultP.x = (pa.x * (1 / Math.Tan(b)) + pb.x * Math.Tan(a) - pa.y + pb.y) / ((1 / Math.Tan(a) + (1 / Math.Tan(b))));
            resultP.y = (pa.y * (1 / Math.Tan(b)) + pb.y * Math.Tan(a) + pa.x - pb.x) / ((1 / Math.Tan(a) + (1 / Math.Tan(b))));

            return resultP;
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            Point paa = new Point();
            paa.x = 1.0;
            paa.y = 1.0;
            Point pbb = new Point();
            pbb.x = 5.5;
            pbb.y = 6.6;
            double aa = 45;
            double bb = 63;
            Point resultPP = new Point();
            //角度前方交会计算
            AbstractCalculation ac = new QFJH();
            resultPP = ac.Crosscal(paa, pbb, aa, bb);

            Console.WriteLine($"x:{resultPP.x} x:{resultPP.y}");
            Console.ReadKey();
        }
    }
}


你调用代码怎么写的?你怎么查看是空值的呢?

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632