C# 如何替换for循环中的字符串?

C# 如何替换for循环中的字符串?,c#,for-loop,replace,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.

我想通过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);
}
for(int i=0;i
但始终替换第一个值,而不替换第二个值

目的是发送两个值的电子邮件,即发送两封电子邮件,一封值为2的电子邮件和另一封值为4的电子邮件

现在,我发送了两封电子邮件,但总是使用值2,其他值为否,因为替换它不能正常工作


谢谢你

你能简单地做这样的事情吗:

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#")
}

与直接修改数据表而不创建新列表类似。

与JavaScript不同,C#的
Replace
将用替换字符串替换搜索字符串的每个实例。可能会对您有所帮助。@John在本例中,如何“替换”dr[“”].ToString(),因为我阅读了一个html模板,然后需要替换以填充模板并发送电子邮件isaíasorzotoledo,@John是对的。尝试使用以下答案中的正则表达式: