c#用函数向元组列表中添加

本文关键字:列表 添加 元组 函数 | 更新日期: 2023-09-27 18:04:18

我对c#相当陌生,刚刚开始2天前,因为我需要为我在大学的编码课创建简单的项目,不幸的是我们有3天的时间来完成代码,所以我落后了1天,但没关系。我使用代码创建了一个元组列表@ 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));
    }
}

如果它是第一次添加到元组中,我需要创建list所以我使用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, trn, Loc, Rat是readlines等的结果,并不重要。(真的吗??)我使用currid作为指示器,无论它是否是第一个(它以0开始,并且在add函数的末尾是++)。

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

if(currid > 0) 

但是我真的不知道该放什么进去。希望我的问题是可以理解的,有人可以帮助我:)

c#用函数向元组列表中添加

如果创建一个专辑类并创建一个专辑列表,会好得多

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

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

第二,列表只在if (currid == 0)语句的花括号{}范围内。这意味着它在if语句之外不存在,所以需要在if语句之外声明它。然后,您可以使用Add。但也要注意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));

发这篇文章是为了帮助别人,因为其他的回复都不是很有帮助,而且都快10年了。

//...
var candidateMoves = new List<(Move move, bool isSafe, int pointBenefit)>(); // tuple list definition
candidateMoves.Add(
            (move: m, isSafe: false, pointBenefit: 0)
            );

技巧在于您必须指定每个"字段"