我正在寻找一种存储两个List<int>
对象的方法。我目前正在使用List<List<int>>
,但仅使用[0]
和[1]
似乎很浪费。
有更好的方法吗?
答案 0 :(得分:1)
我认为你在寻找元组:
var t = Tuple.Create(new List<int>(), new List<int>());
然后只需访问t.Item1
和t.Item2
。
答案 1 :(得分:0)
感谢Servy指出,我错过了这一点。
OP想要创建复合List<int> + List<int>
,而不是List<int+int>
。
public class Pair<T>
{
public T Left { get; set; }
public T Right { get; set; }
public IntPair(T left, T right)
{
this.Left = left;
this.Right = right;
}
}
//or you might want more flexibility
public class Pair<TLeft, TRight>
{
public TLeft Left { get; set; }
public TRight Right { get; set; }
public IntPair(TLeft left, TRight right)
{
this.Left = left;
this.Right = right;
}
}
创建自己的数据类型以保存两个整数
public class IntPair
{
public int A { get; set; }
public int B { get; set; }
public IntPair(int a, int b)
{
this.A = a;
this.B = b;
}
}
如果不需要返回列表,则仅暂时使用。 还有匿名类型。
//or generate this from the existing data
var pairs = Enumerable.Empty<object>()
.Select(o => new { A = 0, B = 0 })
.ToList();
for(int i = 0; i < 10; i++)
pairs.add(new { A = i, B = i * 2 });
//do more with pairs...