所以我创建了一个返回数组列表的函数,每个数组包含3个单元格。但我无法弄清楚如何引用位于列表内部的数组的每个元素。这是代码:
public List<Cell[]> GetEmptyRows()
{
var selection = new List<Cell[]>();
selection.ForEach(entry => entry.Initialize()); // Not sure if this is necessary but let's keep it here for now
for (int i = 0; i < this.cells.GetLength(0); i++)
{
var rows = new List<Cell[]>() { cells[i,i].HorizontalRelatives(this), cells[i,i].VerticalRelatives(this) };
if (i == 1)
{
rows.Add(cells[i, i].DiagonalRelatives(this));
rows.Add(cells[i, i].DiagonalRelatives2(this));
}
selection = rows.FindAll(array => array.Length.Equals(3));
}
return selection;
}
答案 0 :(得分:2)
我不确定,如果这是您正在寻找的,但是,要引用您的某个数组的单个元素,只需通过[]访问它们。
public Cell GetCell(List<Cell[]> list, int row, int cell)
{
if (list.Count < row || list[row].Length < cell)
return;
return list[row][cell];
}
这应该可以解决问题。
原因是,不必将目标列表作为参数传递。您可以将此函数放在包含列表的类中。