不能在方法中使用变量

Cannot use Variable in Method

我在使用方法 GetCircleArea() 中的半径时遇到问题。请帮忙。我坐在这里,不知道该怎么办了。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Programmieraufgabe_5
{
    class Program
    {
        static void Main(string[] args)
        {

            Console.WriteLine("Gebe einen Radius ein: ");
            double rad = Convert.ToDouble(Console.ReadLine());
            Console.WriteLine("Die Fläche eines Kreises mit dem Radius {0}cm beträgt {1}cm²", rad, GetCircleArea());

            Console.ReadKey();

        }

        static double GetCircleArea()
        {
            double area = Math.PI * radius * radius;
            return area;
        }
    }
}

谢谢。求答案!

你的问题的答案是你不能在任何你想要的简单方法中访问其他方法的变量。最简单的方法是在 GetCircleArea 方法中添加一个参数列表。

这样写:

 static double GetCircleArea(double radius)

而不是:

static double GetCircleArea()`

另外,当你使用这个方法时,写下你想给这个方法的参数是什么。在您的情况下,它将是 Main 中的 rad 变量。所以你可以这样写:

Console.WriteLine("Die Fläche eines Kreises mit dem Radius {0}cm beträgt {1}cm²", rad, GetCircleArea(rad));

P.S。如果您希望可以将半径与文本 Gebe einen Radius ein: 放在同一行中,您可以使用 Console.Write() Console.WriteLine()。因为使用 Console.Write 您可以在同一行中继续。然后你使用 Console.ReadLine() 并切换线路。

希望能帮到你。 :)