【问题标题】:Cannot use Variable in Method不能在方法中使用变量
【发布时间】:2022-01-16 06:51:04
【问题描述】:

我在使用 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;
        }
    }
}

谢谢。求答案!

【问题讨论】:

  • radius GetCircleArea 中的变量未定义。您应该在方法GetCircleArea 中添加一个名为radius 的参数,并将rad 作为其值传递。
  • 推荐阅读:Scope of Variables in C#

标签: c# methods


【解决方案1】:

您的问题的答案是,您无法在任何您想要的简单方法中访问其他方法的变量。最简单的方法是在 GetCircleArea 方法中添加一个 parameterList。

所以写:

 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));

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

希望能帮到你。 :)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多