如果我有2个以上的int数列表,那么我可以将这些列表存储在另一个列表中以将其传递给另一个类或方法吗? 我希望能够单独访问每个列表,但我希望能够在一个批处理中将它们全部传递出去。 这将是什么语法以及访问主列表中的每个列表的正确方法。 例如,我有这些个人列表:

List<int> Nums1= new List<int>(new int[] { 6, 76, 5, 5, 6 });
List<int> Nums2= new List<int>(new int[] { 6, 4, 7, 5, 9 });
List<int> Nums3= new List<int>(new int[] { 22, 11, 5, 4, 6 });

我想将它们存储在另一个列表中以传递给一个方法,例如:

static public List<int> DoSomething (List<int> Allnums)
{

//My calculations

}

然后我希望能够将它们存储回主列表并将它们返回给我的主列表。

===============>>#1 票数:10 已采纳

您可以使用List<List<int>>类型来保存列表。

List<List<int>> allNums = new List<List<int>>();

allNums.Add(Nums1);
allNums.Add(Nums2);
allNums.Add(Nums3);

DoSomething(allNums);

//elsewhere
static public List<int> DoSomething (List<List<int>> Allnums)
{

//My calculations

}

===============>>#2 票数:1

这是完全可能的:

static public void DoSomething (List<List<int>> Allnums)
{

//My calculations

}

请注意,没有理由返回List; 该参数指向原始列表列表。 您必须首先将所有列表放在列表中:

List<List<int>> allLists = new List<List<int>>();
allLists.Add(Nums1);
allLists.Add(Nums2);
allLists.Add(Nums3);

DoSomething(allLists);

===============>>#3 票数:1

它取决于已经作为awnser给出的,你可以使用List<List<int>> 虽然,因为我们使用的是OO语言,并且每次int的列表数量相同,我会建议一个对象。

像这样的东西:

public class MyIntListObject
{
    public List<int> Output1 {get;set;}
    public List<int> Output2 {get;set;}
}

保存你的清单。 我会建议维护性。

你的方法会变成这样的东西:

static public MyIntListObject DoSomething (List<int> Allnums)
{

//My calculations

}

===============>>#4 票数:0

static public List<int> DoSomething (List<int> Allnums)
{

//My calculations

}

应该

static public List<int> DoSomething (List<List <int>> Allnums)
{

//My calculations

}

===============>>#5 票数:0

出什么问题了 :

Tuple<List<int>,List<int>>

===============>>#6 票数:0

//static public List<int> DoSomething (List<int> Allnums)
DoSomething(Nums1.Concat(Nums2).Concat(Nums3).ToList());

  ask by Emerica. translate from so

未解决问题?本站智能推荐: