Создать класс с полями: название песни, исполнитель, год выхода - C#
Формулировка задачи:
Ввести класс с полями 1) название песни 2)исполнитель 3) год выхода. Заполнить массив 5-ю объектами. Сделать поиск: 1) по исполнителю; 2) по году. C#
Решение задачи: «Создать класс с полями: название песни, исполнитель, год выхода»
textual
Листинг программы
using System;
using System.Collections;
namespace CyberForum
{
public class Song
{
public string songName { get; set; }
public string artist { get; set; }
public int releaseYear { get; set; }
public Song(string songName, string artist, int releaseYear)
{
this.songName = songName;
this.artist = artist;
this.releaseYear = releaseYear;
}
public override string ToString()
{
return string.Format("Song Name={0}, Artist={1}, Year of Release={2}", songName, artist, releaseYear);
}
public static Song[] searchByArtist(string artist, ArrayList songs)
{
Song[] found = new Song[0];
foreach (Song song in songs)
{
if (song.artist == artist)
{
Array.Resize(ref found, found.Length + 1);
found[found.Length - 1] = song;
}
}
return found;
}
public static Song[] searchByYearOfRelease(int year, ArrayList songs)
{
Song[] found = new Song[0];
foreach (Song song in songs)
{
if (song.releaseYear == year)
{
Array.Resize(ref found, found.Length + 1);
found[found.Length - 1] = song;
}
}
return found;
}
}
class Test
{
static void Main(string[] args)
{
Song s1 = new Song("Asylum", "Disturbed", 2010);
Song s2 = new Song("Violence Fetish", "Disturbed", 2000);
Song s3 = new Song("Switchback", "Celldweller", 2005);
Song s4 = new Song("Bully", "Shinedown", 2012);
Song s5 = new Song("Best Song Ever", "Very famous artist", 2000);
ArrayList songs = new ArrayList();
songs.Add(s1);
songs.Add(s2);
songs.Add(s3);
songs.Add(s4);
songs.Add(s5);
Console.WriteLine("Ведите исполнителя");
string artist = Console.ReadLine();
Song[] resultByArtist = Song.searchByArtist(artist, songs);
foreach (Song song in resultByArtist)
{
Console.WriteLine(song);
}
Console.WriteLine("\nВведите год выпуска");
int year = Int32.Parse(Console.ReadLine());
Song[] resultByYear = Song.searchByYearOfRelease(year, songs);
foreach (Song song in resultByYear)
{
Console.WriteLine(song);
}
Console.ReadKey(true);
}
}
}