首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

未处理NullReferenceException,该怎么解决

2013-08-01 
未处理NullReferenceExceptionpublic class Complex{private double realPart, imaginaryPartpublic doub

未处理NullReferenceException

public class Complex
    {
        private double realPart, imaginaryPart;
        public double RealPart
        { get { return realPart; } set { } }
        public double ImaginaryPart
        { get { return imaginaryPart; } set { } }
        public  Complex(double realPart, double imaginaryPart)
        //构造复数函数
        {
            this.realPart = realPart; this.imaginaryPart = imaginaryPart;
        }
        
       
        //复数取模值//
        
        public static Double Modulus(Complex z)
        {
            double modular = new double();
            modular=Math.Sqrt(z.realPart*z.realPart+z.imaginaryPart*z.imaginaryPart);
            return modular;
        }
        public static Complex Conjugate(Complex z)
        //复数的共轭
        {
            return new Complex(z.realPart, -z.imaginaryPart);
        }
        //复数的加减乘除//
        private static Complex Add( Complex z1, Complex z2)
        {
            return new Complex(z1.realPart+z2.realPart,z1.imaginaryPart+z2.imaginaryPart);
        }
        private static Complex Subtract(Complex z1, Complex z2)


        {
            return new Complex(z1.realPart-z2.realPart,z1.imaginaryPart-z2.imaginaryPart);
        }
        private static Complex Multiply(Complex z1, Complex z2)
        {
            Complex z=new Complex (0,0);
             z.realPart=z1.realPart*z2.realPart-z1.imaginaryPart*z2.imaginaryPart;
             z.imaginaryPart=z1.imaginaryPart*z2.realPart+z1.realPart*z2.imaginaryPart;
             return z;
        }
        private static Complex Divide(Complex z1, Complex z2)
        {
             Complex z=new Complex (0,0);
             z.realPart=(z1.realPart*z2.realPart+z1.imaginaryPart*z2.imaginaryPart)/Modulus(z2);
             z.imaginaryPart=z1.imaginaryPart*z2.realPart-z1.realPart*z2.imaginaryPart/Modulus(z2);
             return z;
        }
        //加减乘除的重载//
        public static Complex operator +(Complex z1,Complex z2)
        {
            return Add(z1,z2);
        }
        public static Complex operator -(Complex z1, Complex z2)
        {
            return Subtract(z1, z2);
        }
        public static Complex operator *(Complex z1, Complex z2)
        {
            return Multiply(z1, z2);
        }
        public static Complex operator /(Complex z1, Complex z2)


        {
            return Divide(z1, z2);
        }
        //将复数转化成弧度表示形式//
        public double angle(Complex z1)
        {
            if (z1.realPart == 0)
            {
                if (z1.imaginaryPart > 0) return 90.0;
                else if (z1.imaginaryPart == 0) return 0.0;
                else return -90.0;
            }
            else if (z1.realPart < 0)
            {
                if (z1.imaginaryPart == 0) return 180d;
                else if (z1.imaginaryPart > 0) return Math.Atan(z1.imaginaryPart / z1.realPart) * 180d / Math.PI + 180d;
                else return Math.Atan(z1.imaginaryPart / z1.realPart) * 180d / Math.PI - 180d;
            }
            else return Math.Atan(z1.imaginaryPart / z1.realPart) * 180 / Math.PI;
        }
    }


红色字段报错
未处理NullReferenceException,该怎么解决
------解决方案--------------------




欢迎结贴。。。。

热点排行