@NikaBestyjeva

Как грамотно реализовать структуру с именем WORKER с возможностью просмотра списка, удаления элемента по фамилии, вставки в произвольное место списка?

Описать структуру с именем WORKER, с полями: фамилия, имя, должность, год поступления на работу. Сформировать массив. Реализовать возможность просмотра списка, удаления элемента по фамилии, вставки нового элемента в произвольное место списка.
НЕ ПОНЯЛА ТЕМУ СПИСКОВ И ПРИМЕНЕНИЕ не понимаю как применить конкретно в своем случае ,что бы работать со списком как в задании.Помогите,пожалуйста.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    public struct worker
    {
        public string fio;
        public string dol;
        public int god;
        public int staj;
    }
    class Program
    {
        static void Main(string[] args)
        {
            worker[] w = new worker[5];
            for (int i = 0; i < 5; i++)
            {
                Console.WriteLine("Введите данные {0}-го работника:", i + 1);
                Console.Write("Ф.И.О.: ");
                w[i].fio = Console.ReadLine();
                Console.Write("Должность: ");
                w[i].dol = Console.ReadLine();
                Console.Write("Год начала  работы: ");
                w[i].god = Convert.ToInt32(Console.ReadLine());
                w[i].staj = 2011 - w[i].god;
                Console.WriteLine("--------------------------------");
            }
           
       
            Console.ReadLine();
            Console.ReadKey();
            
        }
    }
}
  • Вопрос задан
  • 151 просмотр
Решения вопроса 1
@bitddeveloper
Тебе нужно работать с листами или другой коллекцией
Что-то типо такого
List<Worker> workers = new List<Worker>();
Теперь разберемся с удалением по имени
public static void DeleteWorkerByName(List<Worker> workers, string name)
        {
            foreach (var worker in workers)
                if (worker.fio == name)
                    workers.Remove(worker);
        }
Перебираем всех сотрудников,и если окажется нужным,то удаляем
        public static void ShowAllWorkers(List<Worker> workers)
        {
            foreach (var worker in workers)
            {
                Console.WriteLine(worker.fio);
                Console.WriteLine(worker.dol);
                Console.WriteLine(worker.god);
                Console.WriteLine(worker.staj);
            }
        }
Этот же метод выводит на экран всех воркеров
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы