Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 列出所有类对象_C#_List - Fatal编程技术网

C# 列出所有类对象

C# 列出所有类对象,c#,list,C#,List,我想以列表的形式列出所有类对象。我已经创建了一组带有“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”标记的对象。在代码中更容易显示,所以就在这里

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();
}
你看,目前,我必须单独获得每首歌曲的详细信息,它显示如下:

但是,我很快就会让用户可以输入他们自己的数据,我想让用户键入“全部列表”时,它以屏幕截图中显示的方式显示所有曲目。我将向您展示releaseitem类中的内容,但我不确定是否需要更改其中的任何内容:

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

忽略“private”的用法,我还不知道public和private的区别,哈哈。

看看class
列表,你可以这样使用它:

releaseitem trk1 = new releaseitem("ARTIST", "TRACK 01", "2014");

var list = new List<releaseitem>();
list.Add(trk1);

foreach (var item in list)
{
    item.getDetails();
}
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 trk1=新的releaseitem(“艺术家”、“曲目01”、“2014”);
var list=新列表();
列表。添加(trk1);
foreach(列表中的变量项)
{
item.getDetails();
}

使用
list.Add
向列表中添加更多项目;
foreach
-循环将输出到目前为止存储的所有项目。

您可以使用列表保存类列表(或任意数量的不同集合)

为此,您可以执行以下操作:

releaseitem trk1 = new releaseitem("ARTIST", "TRACK 01", "2014");

var list = new List<releaseitem>();
list.Add(trk1);

foreach (var item in list)
{
    item.getDetails();
}
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();

还要注意的是,您应该尽可能保持数据类型与其数据相似,例如
year
应该是
int
,如果不是可以提取年份的发布日期的实际
datetime

我只说,祝您好运!谢谢,成功了!现在要添加用户添加自己数据的功能!