第一步在c#中使用类,将一个方法的内部变量转换为另一个方法

本文关键字:方法 一个 内部 变量 另一个 转换 第一步 | 更新日期: 2023-09-27 17:54:07

我一直在尝试用类写我的第一个程序,我在Visual Studio中是c#新手,值得一提的是,自从我使用OOP以来,我已经有一段时间(2年)了,我在寻找一种方法来通过实践来运行它,这是一个简单的程序来计算多边形的面积,周长和体积。

我还没有能够修改类的属性,即使我没有得到错误,我没有得到任何值进入我的类属性,也,我打算把方法从类拉到我的主,并使用它们来做数学,通过使用

1。如何将变量P保存到相同的类属性中,以便进一步使用到另一个方法中?

class Program
{
    static void Main(string[] args)
    {
        VolumenPrisma Herramienta = new VolumenPrisma();
        VolumenPrisma.Registro();
    }
}    
namespace Poligono
{
    public class VolumenPrisma
    {
        public static int Apotema, TamLado, NumLados, Altura, lado;
        public static double cPerimetro (int NumLados, int lado){
            double P;
            P=(NumLados*lado);
            return P;    
        }
        public static void Registro(){
            Console.WriteLine("Indique No. de lados: ");
            VolumenPrisma.NumLados = Int32.Parse(Console.ReadLine());
            Console.WriteLine("Indique tamanio de lado: ");
            VolumenPrisma.lado = Int32.Parse(Console.ReadLine());    
            Console.WriteLine("----------------------------------------");
            Console.WriteLine("Perimetro = {0} ",VolumenPrisma.cPerimetro(NumLados,lado));
        }
    }
}

第一步在c#中使用类,将一个方法的内部变量转换为另一个方法

您的方法更像是一个模块化解决方案,而不是面向对象编程。面向对象意味着创建一个对象,一个给定类的实例来完成一些特定的任务:

VolumenPrisma herramienta = new VolumenPrisma();

现在这个实例的职责是完成这项工作:

herramienta.Registro();
var perimeter = herramienta.Perimetro();

因为Perimetro()方法为您提供了在Registro()中读取的两个值的简单计算,因此将其设计为属性是完美的:

class Program
{
    static void Main(string[] args)
    {
        VolumenPrisma herramienta = new VolumenPrisma();
        herramienta.Registro();
    }
}    
namespace Poligono
{
    public class VolumenPrisma
    {
        private int numLados;
        private int lado;
        public double Perimetro
        {               
            get { return numLados * lado; }
        }
        public void Registro()
        {
            Console.WriteLine("Indique No. de lados: ");
            numLados = Int32.Parse(Console.ReadLine());
            Console.WriteLine("Indique tamanio de lado: ");
            lado = Int32.Parse(Console.ReadLine());
            Console.WriteLine("----------------------------------------");
            Console.WriteLine("Perimetro = {0} ", Perimetro);
        }
    }
}

简单地将p声明为一个变量,与您要保留的所有其他变量一起,而不是作为一个局部。

public static int Apotema, TamLado, NumLados, Altura, lado, P;
public static double cPerimetro (int NumLados, int lado){
    P=(NumLados*lado);
    return P;    
}

如果你要这样做,我建议使用一个比p更具描述性的变量名

如果你只在类中使用p,你可以将它声明为private:

public static int Apotema, TamLado, NumLados, Altura, lado;
private static int P;
public static double cPerimetro (int NumLados, int lado){
    P=(NumLados*lado);
    return P;    
}