我想要列出列表中的所有类对象。我用“' new'创建了一堆对象。标签。在代码中向您展示更容易,所以在这里。
static void Main(string[] args)
{
releaseitem trk1 = new releaseitem("ARTIST", "TRACK 01", "2014");
releaseitem trk2 = new releaseitem("ARTIST", "TRACK 02", "2016");
releaseitem trk3 = new releaseitem("ARTIST", "TRACK 03", "2012");
releaseitem trk4 = new releaseitem("ARTIST", "TRACK 04", "2011");
Console.WriteLine("ID\t\t\tArtist\t\tTitle\t\t\tRelease Year");
Console.WriteLine("-----------------------------------------------------------");
trk1.getDetails();
trk2.getDetails();
trk3.getDetails();
trk4.getDetails();
}
你看,目前,我必须单独获取每首歌曲的详细信息,它会显示如下:
但是,我很快就会这样做,以便用户可以输入他们自己的数据,我想这样做,以便当用户键入"全部列出"时,它显示所有轨道,以截图中显示的方式。我将向您展示发布项目中的内容,但我不确定我是否必须在那里更改任何内容:
public class releaseitem
{
private string artist = "";
private string title = "";
private string releaseyear = "";
private string id = "";
public releaseitem(string artist, string title, string releaseyear)
{
this.artist = artist;
this.title = title;
this.releaseyear = releaseyear;
idTracker.nextId += 1;
id = "REL-" + (idTracker.nextId).ToString().PadLeft(4, '0');
}
public void getDetails()
{
Console.WriteLine("{0}\t\t{1}\t\t{2}\t\t{3}", id, artist, title, releaseyear);
}
}
忽略私人'的使用,我不知道公共和私人的差异,哈哈。
答案 0 :(得分:1)
查看您可以使用的课程List<T>
,如下所示:
releaseitem trk1 = new releaseitem("ARTIST", "TRACK 01", "2014");
var list = new List<releaseitem>();
list.Add(trk1);
foreach (var item in list)
{
item.getDetails();
}
使用list.Add
向列表中添加更多项目; foreach
- 循环将输出您目前存储的所有项目。
答案 1 :(得分:0)
您可以使用List来保留类列表(或任意数量的不同集合)。
为此,您可以这样做:
List<releaseitem> myList = new List<releaseitem>()
{
new releaseitem("ARTIST", "TRACK 01", "2014"),
new releaseitem("ARTIST", "TRACK 02", "2016"),
new releaseitem("ARTIST", "TRACK 03", "2012"),
new releaseitem("ARTIST", "TRACK 04", "2011")
};
foreach (releaseitem item in myList)
item.getDelails();
您当然需要某种类型的用户界面,或者至少是一种向列表中添加新项目的方式,但这可能看起来像:
releaseitem newReleaseItem = new releaseItem("entered artist", "track number", "year");
myList.Add(newReleaseItem);
另请注意,您应该将数据类型与其数据保持尽可能相似,例如year
可能应该是int
,如果不是您发布日期的实际datetime
可以从中提取年份。