Создать класс трек (наименование, исполнитель, альбом, длительность, рейтинг, размер файла, путь к файлу) - C#

Узнай цену своей работы

Формулировка задачи:

Всем доброго времени суток, совсем не шарю в классах на C#, НУЖНА ПОМОЩЬ. Создать класс трек (наименование, исполнитель, альбом, длительность, рейтинг, размер файла, путь к файлу). Создать класс контейнер треков, в котором будет определен массив треков. Определить методы сортировки трека по наименованию и размеру, методы поиска по исполнителю и альбому (совпадение не обязательно по всему слову, может быть и по первым буквам). Написать программу демонстрации работы созданных классов.Заранее спасибо

Решение задачи: «Создать класс трек (наименование, исполнитель, альбом, длительность, рейтинг, размер файла, путь к файлу)»

textual
Листинг программы
    class Program
    {
        static void Main()
        {
            TrackList list = new TrackList();
 
            list.Add("Master Of Puppets", "Metallica", "Master Of Puppets", @"D:\SweetMusic\ThrashMetal", TimeSpan.Parse("00:07:56"), 100, 10);
            list.Add("Leather Rebel", "Judas Priest", "Painkiller", @"D:\SweetMusic\HeavyMetal", TimeSpan.Parse("00:03:35"), 90, 5);
            list.Add("Raining blood", "Slayer", "Reign in Blood", @"D:\SweetMusic\ThrashMetal", TimeSpan.Parse("00:04:14"), 100, 8);
            list.Add("Кабы не было зимы", "Мама дяди Фёдора", "", @"D:\SweetMusic\Музыка из мультиков", TimeSpan.Parse("00:00:43"), 82, 2);
 
            list.Sort(true); // костыль, ибо устал. true = сортируем по имени, false = сортируем по альбому
 
            Console.WriteLine(list.FindBy("Slayer"));
            Console.WriteLine(list.FindBy("Борис Моисеев"));
            Console.WriteLine(list.FindBy("Reign in Blood"));
        }
    }
 
    class Track
    {
        public Track(string name, string singer, string album, string path, TimeSpan duration, int rating, int size)
        {
            Name = name;
            Singer = singer;
            Album = album;
            Path = path;
            Duration = duration;
            Rating = rating;
            Size = size;
        }
        public string Name { get; set; }
        public string Singer { get; set; }
        public string Album { get; set; }
        public string Path { get; set; }
 
        public TimeSpan Duration { get; set; }
 
        public int Rating { get; set; }
        public int Size { get; set; }
    }
 
    class TrackList
    {
        private List<Track> list;
 
        public TrackList()
        {
            list = new List<Track>();
        }
 
        public void Sort(bool sortType)
        {
            if (sortType)
            {
                var sortedByName = list.OrderBy(t => t.Name);
                SortBy(sortedByName);
            }
 
            else
            {
                var sortedByAlbum = list.OrderBy(t => t.Album);
                SortBy(sortedByAlbum);
            }
                
        }
 
        private void SortBy(IOrderedEnumerable<Track> sort)
        {
            foreach (var item in sort)
            {
                Console.WriteLine("Name: {0}\nAlbum: {1}\nSinger: {2}\nDuration: {3}\nPath: {4}\nRaiting: {5}\nSize: {6}\n",
                    item.Name, item.Album, item.Singer,
                    item.Duration, item.Path, item.Rating, item.Size);
            }
        }
 
        public string FindBy(string singerOrAlbum)
        {
            var check = list.Find(x => x.Singer.Contains(singerOrAlbum));
            if (check != null)
                return "Нашлось!";
            else
            {
                check = list.Find(x => x.Album.Contains(singerOrAlbum));
                if(check != null)
                    return "Нашлось!";;
            }
 
            return "Не нашлось :(";
        }
 
        public void Add(string name, string singer, string album, string path, TimeSpan duration, int rating, int size)
        {
            list.Add(new Track(name, singer, album, path, duration, rating, size));
        }
    }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 3.889 из 5
Похожие ответы