2014-04-01 54 views
0

所以我创建了一个返回数组列表的函数,每个数组包含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

你的哪部分代码不工作? – Tarec

+1

那么,你可以在列表中获取数组:var a = list [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]; 
} 

这应该做的伎俩。

因为,不必通过目标列表作为参数。你可以把这个函数放在持有你列表的类中。

+0

是的,这工作正常,我希望有一种方法可以在语法上更容易,但这确实奏效。 –