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();
    }
}