C#实现乘幂函数

  1. 首先,直接给出函数的具体实现,如下:
        static double Power(double baseNume, int exp)
        {
            if (baseNume.Equals(0))
            {
                throw new NullBaseException();
            }
            else
            {
                double mul = 1.0;
                if (exp != 0)
                {
                    while (exp > 0)
                    {
                        mul *= baseNume;
                        exp--;
                    }
                }
                else
                {
                    mul = baseNume;
                }
                return mul;
            }
        }

  1. 在上面的函数中,可以发现我抛出了一个异常,叫做 NullBaseException,这个异常是我自己定义的,系统中没有给出。那么问题来了,如何在C#中自定义异常呢?

  1. 在C#中自定义异常,可以采用继承系统异常并重写的机制,如下所示(注意其中的构造函数):
using System;

class NullBaseException : Exception
{
    public NullBaseException(
        string message = "The Base should not be Null or zero!"
    ) :
        base(message)
    {
        //pass
    }

    public override string Message
    {
        get
        {
            return base.Message;
        }
    }
}

  1. 由是,即可完成一个简单的乘幂函数,而且其运行效率也比较高。最后给出完整的代码,包含测试部分:
using System;

namespace PowerFunc
{
    class Program
    {
        static void Main(string[] args)
        {
            double res = Power(5.5, 3);
            Console.WriteLine (res);
        }

        static double Power(double baseNume, int exp)
        {
            if (baseNume.Equals(0))
            {
                throw new NullBaseException();
            }
            else
            {
                double mul = 1.0;
                if (exp != 0)
                {
                    while (exp > 0)
                    {
                        mul *= baseNume;
                        exp--;
                    }
                }
                else
                {
                    mul = baseNume;
                }
                return mul;
            }
        }
    }
}





作者:艾孜尔江

原文地址:https://www.cnblogs.com/ezhar/p/13884510.html