我想使用指定start
期间和end
期间的用户输入填充列表。答案是贷款计算,可能会有不偿还期。该列表应该提供未指定数量的start
和end
序列(由用户输入指定)。
我正在尝试让T列表接受相同索引号下的start
和end
序列,如下所示:
List<int> NonRepymnt = new List<int>();
NonRepymnt.Add(2, 4);
但是我收到了错误。我不确定这是否意味着T-list不接受多个值,或者我只是没有正确的语法。我一直在查看下面的文件 https://msdn.microsoft.com/en-us/library/3wcytfd1(v=vs.110).aspx 这似乎提供了多次录入的可能性,但它对我没有用。谢谢,谢谢!
答案 0 :(得分:7)
您的列表属于int
类型,因此它只能获得int
个项目。在这里,您尝试添加不同的类型:具有“开始”和“结束”的复杂类型。
如果使用C#7.0,一种方法是使用命名元组:
var list = new List<(int begin, int end)>();
list.Add((0, 10));
如果在C#7.0之前,您可以使用“普通”元组:
var list = new List<Tuple<int, int>>();
list.Add(Tuple.Create<int, int>(0, 10));
另一种选择是创建自定义类:
class Period
{
public int Begin { get; set; }
public int End{ get; set; }
}
var list = new List<Period>();
list.Add(new Period { Begin = 0, End = 10 });
如果我误解了您只想要一个简单的List<int>
并一次填充多个值,那么请使用AddRange
:
list.AddRange(new int[] { 1, 2, 3, 4 });