C# 将不同对象添加到一个列表中
我必须编写简单的音乐播放器代码,这是重写方法的练习。我必须给艺术家和名字,以及那首歌是什么样的音乐 我有一些音乐类,还有一个基类C# 将不同对象添加到一个列表中,c#,list,C#,List,我必须编写简单的音乐播放器代码,这是重写方法的练习。我必须给艺术家和名字,以及那首歌是什么样的音乐 我有一些音乐类,还有一个基类music,现在我正在寻找任何解决方案,以最简单的方式创建一个对象,如: Music song = new Rock(artist, title); Music song = new Classic(artist, title); 并将它们放在一个列表中 提前感谢您您可以尝试使用集合初始值设定项,以便创建列表: var songs=新列表 { 新摇滚(艺术家,头衔),
music
,现在我正在寻找任何解决方案,以最简单的方式创建一个对象,如:
Music song = new Rock(artist, title);
Music song = new Classic(artist, title);
并将它们放在一个列表中
提前感谢您您可以尝试使用集合初始值设定项,以便创建
列表
:
var songs=新列表
{
新摇滚(艺术家,头衔),
新经典(艺术家、头衔)
};
如果您需要一些控制台阅读和播放歌曲的方法,您可以这样做
public class Music {
public string Artist { get; set; }
public string Title { get; set; }
public Music(string artist, string title) {
Artist = artist;
Title = title;
}
public void play(string song) {
Console.WriteLine(song);
}
}
public class Rock : Music
{
public Rock(string artist, string title) : base(artist, title)
{
}
}
public class Classic : Music
{
public Classic(string artist, string title) : base(artist, title)
{
}
}
class Program
{
static void Main(string[] args)
{
Music song1 = new Rock("ac-dc", "highway to hell");
Music song2 = new Classic("elvis presley", "love me tender");
List<Music> list = new List<Music>();
list.Add(song1);
list.Add(song2);
Console.WriteLine(list[0].Artist +", " + list[0].Title);
Console.WriteLine(list[1].Artist + ", " + list[1].Title);
string a = Console.ReadLine(); // just type "yeah" or whatever
song1.play(a);
song1.play(a);
song1.play(a);
song1.play(a);
Console.ReadLine();
}
}
公共音乐课{
公共字符串艺术家{get;set;}
公共字符串标题{get;set;}
公共音乐(弦乐艺术家、弦乐标题){
艺术家=艺术家;
头衔=头衔;
}
公开演出(弦乐){
控制台。WriteLine(歌曲);
}
}
公开课摇滚:音乐
{
公共摇滚(弦乐艺术家,弦乐标题):基础(艺术家,标题)
{
}
}
公共课经典:音乐
{
公共经典(弦乐艺术家,弦乐标题):基础(艺术家,标题)
{
}
}
班级计划
{
静态void Main(字符串[]参数)
{
音乐歌曲1=新摇滚(“ac dc”,“地狱之路”);
音乐歌曲2=新经典(“猫王”、“温柔地爱我”);
列表=新列表();
列表。添加(歌曲1);
列表。添加(歌曲2);
Console.WriteLine(列表[0]。艺术家+”,“+列表[0]。标题);
Console.WriteLine(列表[1]。艺术家+”,“+列表[1]。标题);
string a=Console.ReadLine();//只需键入“yeah”或其他什么
歌曲1.演奏(a);
歌曲1.演奏(a);
歌曲1.演奏(a);
歌曲1.演奏(a);
Console.ReadLine();
}
}
var songs=new List(){song}
。。。完成
public class Music {
public string Artist { get; set; }
public string Title { get; set; }
public Music(string artist, string title) {
Artist = artist;
Title = title;
}
public void play(string song) {
Console.WriteLine(song);
}
}
public class Rock : Music
{
public Rock(string artist, string title) : base(artist, title)
{
}
}
public class Classic : Music
{
public Classic(string artist, string title) : base(artist, title)
{
}
}
class Program
{
static void Main(string[] args)
{
Music song1 = new Rock("ac-dc", "highway to hell");
Music song2 = new Classic("elvis presley", "love me tender");
List<Music> list = new List<Music>();
list.Add(song1);
list.Add(song2);
Console.WriteLine(list[0].Artist +", " + list[0].Title);
Console.WriteLine(list[1].Artist + ", " + list[1].Title);
string a = Console.ReadLine(); // just type "yeah" or whatever
song1.play(a);
song1.play(a);
song1.play(a);
song1.play(a);
Console.ReadLine();
}
}