我有一个元组数组,如下所示;
var games = new Tuple <string, Nullable<double>>[]
{ new Tuple<string, Nullable<double>>("Fallout 3: $", 13.95),
new Tuple<string, Nullable<double>>("GTA V: $", 45.95),
new Tuple<string, Nullable<double>>("Rocket League: $", 19.95) };
我想知道是否有一个功能会让我在这个列表中添加另一个项目。
请帮忙!
谢谢,肖恩
答案 0 :(得分:13)
使用列表
select a.instalmentnbr, a.duedate, sum(a.capital_payment), sum(a.interest_payment), sum(a.overdue_payment)
from helltable a
where a.request_orig_id = 46 order by a.instalmentnbr;
答案 1 :(得分:1)
使用Resize
方法:
Array.Resize(ref games, games.Length + 1);
games[games.Length - 1] = new Tuple<string, Nullable<double>>("Star Flare: $", 5.00),;
答案 2 :(得分:1)
虽然其他答案已涵盖您应该做的事情,即使用List
(代码来自this answer):
var games = new List<Tuple<string, Nullable<double>>>()
{
new Tuple<string, Nullable<double>>("Fallout 3: $", 13.95),
new Tuple<string, Nullable<double>>("GTA V: $", 45.95),
new Tuple<string, Nullable<double>>("Rocket League: $", 19.95)
};
然后你可以调用Add
方法:
games.Add(new Tuple<string, double?>("Skyrim: $", 15.10));
我想指出一些可以改进代码的方法。
string
中的Tuple
应该只是游戏名称,您以后可以随时对其进行格式化:
string formattedGame = $"{game.Item1}: ${game.Item2}";
似乎没有太多需要使用Nullable<double>
(也可以写成double?
BTW),考虑只使用double
。
decimal
,因此请考虑转换为货币价值。Game
。这将简化代码,并在您希望添加更多详细信息时提供帮助,例如Description
,Genre
,AgeRating
等。有关何时使用数组或列表的更多详细信息,请参阅this question,但是,简短版本应该是您应该使用列表。
答案 3 :(得分:0)
class Program
{
static void Main(string[] args)
{
var games = new Tuple<string, Nullable<double>>[]
{ new Tuple<string, Nullable<double>>("Fallout 3: $", 13.95),
new Tuple<string, Nullable<double>>("GTA V: $", 45.95),
new Tuple<string, Nullable<double>>("Rocket League: $", 19.95) };
Array.Resize(ref games, 4);
games[3] = new Tuple<string,double?>("Test", 19.95);
}
}