Здравствуйте, начинаю иззучать ООП и сам язык C#, и поэтому ошибка, скорее всего, будет глупой, и могу не совсем правильно выражаться. Есть класс Container, который выполняет ряд функций в зависимости от выбора пользователя, но данные переменных он берет с класса Data. Ошибка следующая: при выполнении функции Adding в классе Container переменная Description (class Data) приходит пустой: т.е. значение ей присвается в самом начале выполнения программы, но дальше почему-то она пустая при выполнении функции Adding. На другой функции Main переменная приходит заполненная и корректно отображает свое содержимое. В чем проблема? Спасибо.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CsharpLABA2
{
class Data
{
public string Description;
public int Num;
public void Filling()
{
Console.OutputEncoding = Encoding.UTF8;
Console.WriteLine("Введите описание: ");
Description = Console.ReadLine();
}
public void Output()
{
Console.WriteLine("Ваш текст: " + Description);
}
public void Input()
{
Console.WriteLine("Для добавления строки введите 1 ");
Console.WriteLine("Для удаления строки введите 2 ");
Console.WriteLine("Для очистки текста введите 3 ");
Console.WriteLine("Для определения колличества символов введите 4 ");
Console.WriteLine("Для поиска заданного текста который возвращает колличество совпадений введите 5 ");
Console.WriteLine("Для замены одного символа на остальные введите 6 ");
Num = Convert.ToInt32(Console.ReadLine());
}
}
class Container
{
public void Adding ()
{
Data Dataclass = new Data();
Console.WriteLine(Dataclass.Description);
Console.WriteLine("Введите строку, которую вы хотите добавить ");
Console.WriteLine("Было: " + Dataclass.Description);
Dataclass.Description = String.Concat(Dataclass.Description, Console.ReadLine());
Console.WriteLine("Результат: " + Dataclass.Description);
Console.ReadKey();
}
static void Main(string[] args)
{
Container Classcontainer = new Container();
Data Dataclass = new Data();
Dataclass.Filling();
Dataclass.Output();
Dataclass.Input();
switch (Dataclass.Num)
{
case 1:
Classcontainer.Adding();
Dataclass.Output();
Dataclass.Input();
break;
case 2:
break;
case 3:
break;
case 4:
break;
case 5:
break;
case 6:
break;
}
}
}
}