C#使用函数添加到元组列表

时间:2014-05-21 09:56:08

标签: c# tuples

我刚刚开始使用C#,刚刚开始2天,因为我需要为大学的Coding课程创建一个简单的项目,不幸的是我们有3天的时间来完成代码,所以我落后了一天,但它没有没关系我使用代码fount @ whatacode.wordpress.com创建了一个元组列表。

public class TupleList<int, string, string, int, int, string, int> : List<Tuple<int, string, string, int, int, string, int>>
   {
       public void Add(int IDL, string AlbNmL, string ArtL, int RelDL, int TrAmnL, string LocL, int RatL)
       {
           Add(new Tuple<int, string, string, int, int, string, int>(ID, AlbNm, Art, RelD, TrAmn, Loc, Rat));
       }
   }

我需要创建列表,如果它是第一次添加到元组,所以我使用if

 if (currid == 0)
       {
           var Albums = new TupleList<int, string, string, int, int, string, int>
        {
            {ID, AlbNm, Art, RelD, TrAmn, Loc, Rat},
        };

       }

我的ID,AlbNm,Art,RelD,TrAmn,Loc,Rat是readlines等的结果,并不重要。 (还是??) 我使用currid作为指示符是否是第一个(它以0开头,并且在add函数结束时是++。

现在我的问题是我如何使用我的TupleList类的ADD方法将它们(ID,AlbNm,Art,RelD,TrAmn,Loc,Rat,我从readlines获得)添加为下一个元组。我用了

if(currid > 0) 

但我真的不知道该怎么做。 希望我的问题在任何%都可以理解,有人可以帮助我:) 提前谢谢。

2 个答案:

答案 0 :(得分:3)

创建专辑类并制作专辑列表会更好

public class Album
{
    public string Name {get;set;}
    public string Artist {get; set;}
    public Album(string _name, string _artist)
    {
         Name = _name;
         Artist = _artist;
    }
}


Album example = new Album("a", "good idea");

List<Album> listOfAlbums = new List<Album>();
listOfAlbums.Add(example);

答案 1 :(得分:0)

首先,您可以使用List<Tuple<int, string, string, int, int, string, int>>

其次,您的列表仅在if(currid == 0)语句的花括号{}范围内。 这意味着它不存在于那里,所以你需要在if之外声明它。然后,您可以使用添加。但另请注意,Tuple有一个Factory方法:

List<Tuple<<int, string, string, int, int, string, int>> Albums;
if (currid == 0) {
    Albums = new TupleList<int, string, string, int, int, string, int>();
}
Albums.Add(Tuple.Create(ID, AlbNm, Art, RelD, TrAmn, Loc, Rat));