Используйте переменные из класса / метода в других классах / методах - PullRequest
0 голосов
/ 05 апреля 2020

Я создал класс под названием MyVars, и он предназначен для хранения вариабельных значений для всей программы. Я попытался добавить переменные к тому же классу в другом методе, но результаты совпадают. Я хочу сделать некоторые переменные глобальными, чтобы я мог их использовать.

 class MyVars
{ 
    public string nameFirst;
    public string nameLast;
    public int age;
    public double height;
}
class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine("Enter first name:");
        nameFirst = Console.ReadLine();
        Console.WriteLine("Enter last name:");
        nameLast = Console.ReadLine();
        Console.WriteLine("Enter age:");
        age = Console.ReadLine();
    }

Это в основном код, который я сделал. Есть ли способ сделать так, чтобы переменные можно было использовать в разных методах, я пока не забочусь о классах, так как я не против переделать их для других классов.

Ответы [ 4 ]

0 голосов
/ 05 апреля 2020

Я покажу вам, как это сделать, но я также попрошу вас не делать этого. Это путь, который очень и очень плохо закончится. Использование глобальных переменных приводит к коду, который очень и очень сложно поддерживать. Итак ... вот как это сделать ... но не делайте этого.

public static class MyVars
{
    public static string nameFirst;
    public static string nameLast;
    public static int age;
    public static double height;
}

class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine("Enter first name:");
        MyVars.nameFirst = Console.ReadLine();
        Console.WriteLine("Enter last name:");
        MyVars.nameLast = Console.ReadLine();
        Console.WriteLine("Enter age:");
        MyVars.age = int.Parse(Console.ReadLine());
    }
}

Прочтите этот ответ о том, почему вы хотите избежать глобальных переменных при (почти) всех затратах:

{ ссылка }

0 голосов
/ 05 апреля 2020

Вам необходимо создать экземпляр MyVars в методе Main и добавить ключевое слово public перед определением class MyVars

public class MyVars
{ 
    public string nameFirst;
    public string nameLast;
    public int age;
    public double height;
}
class Program
{
    static void Main(string[] args)
    {
        MyVars myVars = new MyVars();
        Console.WriteLine("Enter first name:");
        myVars.nameFirst = Console.ReadLine();
        Console.WriteLine("Enter last name:");
        myVars.nameLast = Console.ReadLine();
        Console.WriteLine("Enter age:");
        myVars.age = Console.ReadLine();
    }
}
0 голосов
/ 05 апреля 2020

Это вам поможет.

  1. Создайте отдельный класс MyVars.cs. Лучше создать отдельный файл, как показано ниже.

enter image description here

public class MyVars
{ 
    public string NameFirst {get;set;}
    public string NameLast {get;set;}
    public int Age {get;set;}
    public double Height {get;set;}
}

Создать новый экземпляр класса MyVars. Вы можете передать этот экземпляр в другие методы в качестве параметра. Или вы можете создать новый экземпляр класса MyVars в любом другом методе.

class Program
{
    static void Main(string[] args)
    {  
        // New instance of MyVars 
        MyVars myVars = new MyVars ();

        Console.WriteLine("Enter first name:");
        myVars.NameFirst = Console.ReadLine();
        Console.WriteLine("Enter last name:");
        myVars.NameLast = Console.ReadLine();
        Console.WriteLine("Enter age:");
        myVars.Age = Console.ReadLine();
    }
}
0 голосов
/ 05 апреля 2020

Это то, что вы ищете?

class Program
{
    public static string nameFirst;
    public static string nameLast;
    public static int age;
    public static double height;

    static void Main(string[] args)
    {
        Console.WriteLine("Enter first name:");
        nameFirst = Console.ReadLine();
        Console.WriteLine("Enter last name:");
        nameLast = Console.ReadLine();
        Console.WriteLine("Enter age:");
        age = Console.ReadLine();
    }
}

Вообще говоря, основная цель классов - объединить ваши данные / переменные вместе с методами, которые используют или изменяют данные / переменные.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...