如何在for循环中替换字符串?

时间:2018-08-08 01:44:28

标签: c# for-loop replace

我想通过SqlDataReader用新值替换字符串,但是DataReader返回2个值2和4,替换工作正常,将字符串替换为值2,但不替换为4值。

首先,我从一个类创建一个列表,然后将DataReader的值添加到列表中:

listaTan.Add(new ListaTan { Tanques = dr["Num"].ToString() })

然后我使用for循环替换字符串:

for (int i = 0; i < listaTan.Count; i++)
{
    body = body.Replace("#Num#", listaTan[i].Tanques);
}

但是请始终替换第一个值,而不要替换第二个值。

目的是发送具有两个值的电子邮件,即发送2封电子邮件,其中1封电子邮件的值为2,另一封电子邮件的值为4。

现在,我发送了2封电子邮件,但始终带有值2,其他值始终为否,因为替换无法正常工作。

谢谢

1 个答案:

答案 0 :(得分:0)

您可以简单地执行以下操作吗?

DataTable dt = new DataTable();
dt.Load(dataReader);// i'm not sure, Load() or LoadData()

foreach (DataRow row in dt.Rows)
{
    row[fieldname] = row[fieldname].Replace("#Num#")
}

就像直接修改数据表一样,而无需创建新列表。

相关问题