1

这就是我所拥有的。它将返回具有非空/空文本值的第一个单元格 - 来自除第一个之外的任何行。如果不满足这些条件,它将返回一个空集。有没有一种更紧凑的方法,不需要第二组 where/select 子句?

(哦,这是使用 WatiN Table 元素...)

this.Lessors = lessorTable.OwnTableRows
            .Where(row => row.Index > 0)
            .Select(row => row.TableCells
                .FirstOrDefault(cell => 
                    !string.IsNullOrEmpty(cell.Text) && cell.Text.Trim() != string.Empty))
            .Where(cell => cell != null)
            .Select(cell => cell.Text)
            .ToList();
4

1 回答 1

3

引入新的范围变量和String.IsNullOrWhiteSpace方法的使用可以使您的查询更加紧凑:

Lessors = from row in lessorTable.OwnTableRows
          let cell = row.TableCells
                        .FirstOrDefault(c => !String.IsNullOrWhiteSpace(c.Text))
          where row.Index > 0 && cell != null
          select cell.Text;
于 2012-12-17T22:06:04.023 回答