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