到目前为止,我已经完成了

foreach (DataRow myRow in targetTable.Rows)
 {
  htmlBuilder.Append("<tr align='left' valign='top'>");

  foreach (DataColumn targetColumn in targetTable.Columns)
  {
   htmlBuilder.Append("<td align='left' valign='top'>");
   htmlBuilder.Append(myRow[targetColumn.ColumnName].ToString());
   htmlBuilder.Append("</td>");
  }

  htmlBuilder.Append("</tr>");
 }


任何更好的方式...如Linq / Lambda方法

谢谢

最佳答案

LINQ通常用于选择集合的子集并对其进行操作,您所做的实际上并不符合其目的。

如果确实愿意,可以将foreach循环定义为lambda,但不会获得任何特殊的好处。即:

Action<DataColumn> buildAction = (DataColumn targetColumn) =>
{
    htmlBuilder.Append("<td align='left' valign='top'>");
    htmlBuilder.Append(myRow[targetColumn.ColumnName].ToString());
    htmlBuilder.Append("</td>");
};
targetTable.Columns.ForEach(buildAction);

关于c# - 是否可以用Linq/Lambda方法重写以下代码,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7188745/

10-10 12:38