【发布时间】:2016-02-14 17:56:29
【问题描述】:
我目前有以下代码:
public string ReplaceData(List<ListData> list, string emailBody)
{
foreach (var item in list)
{
emailBody = emailBody.Replace("<Item1>", list.FirstOrDefault().Item1);
emailBody = emailBody.Replace("<Item2>", list.FirstOrDefault().Item2);
emailBody = emailBody.Replace("<Item3>", list.FirstOrDefault().Item3);
emailBody = emailBody.Replace("<Item4>", list.FirstOrDefault().Item4);
emailBody = emailBody.Replace("<Item5>", list.FirstOrDefault().Item5);
emailBody = emailBody.Replace("<Item6>", list.FirstOrDefault().Item6);
}
...
}
不是每次都重复上述替换,是否可以遍历列表的每一行属性,同时获取每个属性名称和值,因此只需要一次替换,因为它将逐个循环遍历每一行属性一个而不是每一行及其所有包含的属性?
我以前从未这样做过,因此如果需要,我可以提供更多信息。这需要尽可能高效,因为我平均将有大约 15,000 行数据进行迭代,因此反射可能不是实现我想要的最有效的方法。
当前列表将需要更改:
第 1 行
Item1 名称 项目 1 值,
Item2 名称 Item 2 值,
Item3 名称 Item 3 值
到这里:
第 1 行
项目 1 名称 项目 1 值
第 2 行
项目 2 名称 项目 2 值
第 3 行
Item3 名称 Item 3 值
【问题讨论】:
-
我假设您的意思是访问
item的属性,而不是每次迭代访问list中的第一个条目? -
是的,我就是这个意思
标签: c#