【发布时间】:2014-01-31 07:35:28
【问题描述】:
我正在尝试返回一个列表,但在使用以下列表时遇到了问题
我已经使用下面的 lambda 表达式来生成一个字符串列表
var lstItems = rows.SelectMany(x => x).ToList();
注意:'rows' 是一种链表,即 LinqToExcel.Query.ExcelQueryable
输入列表如下:
rows cell
[0] ------[0] {"myValue1"}
[1] {1}
[2] {"abc"}
[1] ------[0] {"myValue2"}
[1] {1}
[2] {"pqr"}
[2] ------[0] {"myValue3"}
[1] {5}
[2] {"ppp"}
and so on..
预期的结果列表如下
List<string> lstItems = [0] - {"myValue1"}
[1] - {1}
[2] - {"abc"}
[3] - {"myValue2"}
[4] - {1}
[5] - {"pqr"}
[6] - {"myValue3"}
[7] - {5}
[8] - {"ppp"}
结果列表将是要合并到一个列表中的所有行的单元格值,并且它应该按照给定的输入行 - 单元格顺序。
我可以通过以下代码实现我想要的输出:
List<string> lstExcelData = new List<string>();
foreach (LinqToExcel.Row row in rows)
{
foreach (LinqToExcel.Cell cell in row)
{
lstExcelData.Add(cell.Value.ToString().Trim());
}
}
但如果可能的话,使用 lambda 表达式会更好,因为我总是喜欢使用 lambda 表达式进行迭代。
【问题讨论】:
-
您能否向我们提供一个小样本输入数据以及该数据所需的输出格式?
-
@samar : 修改问题,提到输入输出
标签: c# linked-list lambda