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)
但是我真的不知道该放什么进去。希望我的问题是可以理解的,有人可以帮助我:)
如果创建一个专辑类并创建一个专辑列表,会好得多
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)
);
技巧在于您必须指定每个"字段"