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

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

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

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

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

textual
Листинг программы
  1.     class Program
  2.     {
  3.         static void Main()
  4.         {
  5.             TrackList list = new TrackList();
  6.  
  7.             list.Add("Master Of Puppets", "Metallica", "Master Of Puppets", @"D:\SweetMusic\ThrashMetal", TimeSpan.Parse("00:07:56"), 100, 10);
  8.             list.Add("Leather Rebel", "Judas Priest", "Painkiller", @"D:\SweetMusic\HeavyMetal", TimeSpan.Parse("00:03:35"), 90, 5);
  9.             list.Add("Raining blood", "Slayer", "Reign in Blood", @"D:\SweetMusic\ThrashMetal", TimeSpan.Parse("00:04:14"), 100, 8);
  10.             list.Add("Кабы не было зимы", "Мама дяди Фёдора", "", @"D:\SweetMusic\Музыка из мультиков", TimeSpan.Parse("00:00:43"), 82, 2);
  11.  
  12.             list.Sort(true); // костыль, ибо устал. true = сортируем по имени, false = сортируем по альбому
  13.  
  14.             Console.WriteLine(list.FindBy("Slayer"));
  15.             Console.WriteLine(list.FindBy("Борис Моисеев"));
  16.             Console.WriteLine(list.FindBy("Reign in Blood"));
  17.         }
  18.     }
  19.  
  20.     class Track
  21.     {
  22.         public Track(string name, string singer, string album, string path, TimeSpan duration, int rating, int size)
  23.         {
  24.             Name = name;
  25.             Singer = singer;
  26.             Album = album;
  27.             Path = path;
  28.             Duration = duration;
  29.             Rating = rating;
  30.             Size = size;
  31.         }
  32.         public string Name { get; set; }
  33.         public string Singer { get; set; }
  34.         public string Album { get; set; }
  35.         public string Path { get; set; }
  36.  
  37.         public TimeSpan Duration { get; set; }
  38.  
  39.         public int Rating { get; set; }
  40.         public int Size { get; set; }
  41.     }
  42.  
  43.     class TrackList
  44.     {
  45.         private List<Track> list;
  46.  
  47.         public TrackList()
  48.         {
  49.             list = new List<Track>();
  50.         }
  51.  
  52.         public void Sort(bool sortType)
  53.         {
  54.             if (sortType)
  55.             {
  56.                 var sortedByName = list.OrderBy(t => t.Name);
  57.                 SortBy(sortedByName);
  58.             }
  59.  
  60.             else
  61.             {
  62.                 var sortedByAlbum = list.OrderBy(t => t.Album);
  63.                 SortBy(sortedByAlbum);
  64.             }
  65.                
  66.         }
  67.  
  68.         private void SortBy(IOrderedEnumerable<Track> sort)
  69.         {
  70.             foreach (var item in sort)
  71.             {
  72.                 Console.WriteLine("Name: {0}\nAlbum: {1}\nSinger: {2}\nDuration: {3}\nPath: {4}\nRaiting: {5}\nSize: {6}\n",
  73.                     item.Name, item.Album, item.Singer,
  74.                     item.Duration, item.Path, item.Rating, item.Size);
  75.             }
  76.         }
  77.  
  78.         public string FindBy(string singerOrAlbum)
  79.         {
  80.             var check = list.Find(x => x.Singer.Contains(singerOrAlbum));
  81.             if (check != null)
  82.                 return "Нашлось!";
  83.             else
  84.             {
  85.                 check = list.Find(x => x.Album.Contains(singerOrAlbum));
  86.                 if(check != null)
  87.                     return "Нашлось!";;
  88.             }
  89.  
  90.             return "Не нашлось :(";
  91.         }
  92.  
  93.         public void Add(string name, string singer, string album, string path, TimeSpan duration, int rating, int size)
  94.         {
  95.             list.Add(new Track(name, singer, album, path, duration, rating, size));
  96.         }
  97.     }

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


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

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

9   голосов , оценка 3.889 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы