Задать вопрос
  • Почему не добавляет элемент в список?

    FoggyFinder
    @FoggyFinder
    Как уже правильно указали, проблема состоит в том, что вы каждый раз создаете новый экземпляр ManagerMeeting:

    public void Route(string answer)
    {
        var manager = new ManagerMeeting();


    Также оставлю несколько комментариев по поводу кода:

    1. Наследование применяете неправильно.

    2. Если в сеттерах свойств нет дополнительной проверки на корректность значений полей, то лучше использовать авто-свойства.

    3. Слишком сложная структура - классы Menu, Route кажутся избыточными. Для таких простых сценариев методы перечисленных классов проще перенести в Program.

    4. Класс ManagerMeeting слишком сильно связан с консолью, кроме того есть зависимость от Menu. Если хотите предоставить методы для управления коллекцией (список встреч), то выставите необходимые методы и уже работайте с ними.

    5. Для форматированного вывода собственных классов удобно переопределить метод .ToString()

    Немного переписанные классы с учетом указанного выше:

    class Meetings // Класс встреч
        {
            public string DateMeeting { get; set; }
            public string StartMeeting { get; set; }
            public string EndMeeting { get; set; }
    
            public override string ToString()
            {
                return $"Дата встречи: {DateMeeting}, Начало встречи: {StartMeeting}, Конец встречи: {EndMeeting}";
            }
        }
    
        class ManagerMeeting //  Класс управление встречами
        {
            public List<Meetings> MeetingList { get; } = new List<Meetings>();
            public void Add(Meetings meet)
            {
                MeetingList.Add(meet);
            }
            public string FormatMeetings()
            {
                StringWriter sw = new StringWriter();
                foreach (var meet in MeetingList)
                    sw.WriteLine(meet);
                return sw.ToString();
            }  
        }


    меню:

    class Program
        {
            static ManagerMeeting manager = new ManagerMeeting();
            public static void ShowMainMenu()
            {
                Console.WriteLine("Выберите действие: \n1. Показать все встречи\n2. Создать новую встречу");
            }
    
            public static bool Handler()
            {
                Console.Clear();
                ShowMainMenu();
                string answer = Console.ReadLine();
                switch (answer)
                {
                    case "1":
                        var result = manager.FormatMeetings();
                        if (string.IsNullOrWhiteSpace(result))
                            Console.WriteLine("Список пуск");
                        else
                            Console.WriteLine(manager.FormatMeetings());
                        return true;
                    case "2":
                        manager.Add(ReadMeeting());
                        return true;
                    default:
                        return false;
                }
            }
    
            public static void Main(string[] args)
            {
                while (Handler()) Console.ReadKey(true);
                Console.ReadKey(true);
            }
    
            public static Meetings ReadMeeting()
            {
                Console.WriteLine("Введите дату встречи:");
                var date = Console.ReadLine();
                Console.WriteLine("Введите время начала встречи:");
                var startMeeting = Console.ReadLine();
                Console.WriteLine("Введите время конца встречи:");
                var endMeeting = Console.ReadLine();
    
                Console.WriteLine("Встреча добавлена! \n ");
                //Для проверки, записываются ли поля - записываются
                Console.WriteLine(date + startMeeting + endMeeting);
                return new Meetings
                {
                    DateMeeting = date,
                    StartMeeting = startMeeting,
                    EndMeeting = endMeeting
                };
            }
        }


    Конечно, код выше тоже далек от идеального (всегда есть что улучшать). Например,:

    Предусмотрите проверку данных:

    В считывания информации с консоли:
    * используйте типы данных которые лучше всего подходят для описания свойств (DateTime для даты и времени вместо универсального string)
    * напишите вспомогательные методы GetInteger, GetDateTime и другие которые будут возвращать результат только после того как пользователь ввел корректные данные.

    В классе ManagerMeeting:

    * Пусть вместо void метод Add -возвращает bool в зависимости от успешности добавления (например, чтобы предусмотреть сценарии добавления давно прошедшей встречей).

    И так далее.
    Ответ написан
    2 комментария
  • Как задать проверку значений в LocalStorage?

    @kulaeff
    Front-end developer
    Если указанного ключа в localStorage нет, то getItem возвращает null. Другими словами, можно сделать так:
    var new3lsg = localStorage.getItem('new3ls') || <ваше значение по умолчанию>;
    Ответ написан
    Комментировать
  • Удаление элемента в jQuery при клике на него?

    teknik2008
    @teknik2008
    Расскажите про GOLANG. Мне интересно
    id на станице можно использовать 1 раз. Используйте классы.
    $('#ssilka').click(function (){
    $(this).remove();	
    });
    Ответ написан
    Комментировать