C# 将简单代码重构为4个函数,并向main()请求返回值

C# 将简单代码重构为4个函数,并向main()请求返回值,c#,function,C#,Function,我是否可以使用以下代码将其重构为4个函数,即平方面积、rt三角形周长、平方面积和平方周长,并要求至少1个函数向Main返回值?如果是的话,谁能给我一个如何做的提示?我正在自学C语言,从过去三天开始我一直在努力学习,但都失败了 class Program { static void Main(string[] args) { double tribase = 9; double triwidth = 6; double trihypo

我是否可以使用以下代码将其重构为4个函数,即平方面积、rt三角形周长、平方面积和平方周长,并要求至少1个函数向Main返回值?如果是的话,谁能给我一个如何做的提示?我正在自学C语言,从过去三天开始我一直在努力学习,但都失败了

class Program
{
    static void Main(string[] args)
    {
        double tribase = 9;
        double triwidth = 6;
        double trihypotenuse = Math.Sqrt((tribase * tribase) + (triwidth * triwidth));
        double triarea = 0.5 * (tribase * triwidth);
        double triperimeter = tribase + triwidth + trihypotenuse;
        Console.WriteLine("Area of right triangle = {0}\nPerimeter of rigth triangle = {1}\n", triarea, triperimeter);

        double squareside = 8;
        double squarearea = squareside * squareside;
        double squareperimeter = 4 * squareside;
        Console.WriteLine("Area of square = {0}\nPerimeter of square = {1}\n",  squarearea, squareperimeter);
    }
}

C中的一个基本函数是这样写的:

static ReturnType Name(ParamType1 paramname1, ParamType2 paramname2)
{
    // Code
    return someValue;
}
其中ReturnType是返回值的类型,例如在您的案例中为double,Name是函数的名称,例如GetSquareArea,ParamTypeN是函数的参数类型,paramnameN是该参数的名称。最后,您将使用一个表达式或变量来代替someValue,该表达式或变量具有您想要返回的值

因为我怀疑这是一个家庭作业,所以我只做平方函数的面积。你必须从那里做另外三个

static double GetSquareArea(double side)
{
    double area = side * side;
    return area;
}
要在现有代码中使用此选项:

double squarearea = GetSquareArea(squareside);
请注意如何为side参数提供值。在这种情况下,值来自squareside变量。并注意函数的结果是如何存储在squarearea变量中的

为了给您一个概述,这是您的代码中包含该函数时的外观。现在你加上另外三个

class Program
{
    static void Main(string[] args)
    {
        double tribase = 9;
        double triwidth = 6;
        double trihypotenuse = Math.Sqrt((tribase * tribase) + (triwidth * triwidth));
        double triarea = 0.5 * (tribase * triwidth);
        double triperimeter = tribase + triwidth + trihypotenuse;
        Console.WriteLine("Area of right triangle = {0}\nPerimeter of rigth triangle = {1}\n", triarea, triperimeter);

        double squareside = 8;
        double squarearea = GetSquareArea(squareside);  // <--
        double squareperimeter = 4 * squareside;
        Console.WriteLine("Area of square = {0}\nPerimeter of square = {1}\n",  squarearea, squareperimeter);
    }

    static double GetSquareArea(double side)
    {
        double area = side * side;
        return area;
    }
}

高亮显示要进入单独函数的行,右键单击->重构->提取方法。然后观看VisualStudio的魔术表演。+1表示无需填鸭的noob的答案