Создать класс трек (наименование, исполнитель, альбом, длительность, рейтинг, размер файла, путь к файлу) - 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));
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д