这里我提供了我的示例c#代码。
foreach (var table in dataSet.Tables)
{
foreach (var field in table.Fields)
{
if (displayText.Contains(field.Name))
{
displayText = displayText.Replace(field.Name, field.Id);
}
}
}
有人可以建议我如何使用linq简单地使用这段代码吗?
答案 0 :(得分:1)
可以在一行上(即使它添加了额外的列表分配,但可以通过使用单个foreach语句而不是ToList()来避免.ForEach()):
dataset.Tables
.SelectMany(table => table.Fields)
.Where(field => displayText.Contains(field.Name))
.ToList()
.ForEach(field => displayText = displayText.Replace(field.Name, field.Id););