我正在尝试编写一些代码,将电子邮件发送到保存在数据库中的电子邮件地址。 我有代码找到地址,但我得到错误:
无法从'string'转换为'string []'
string ToAddresses;
DataSet ds = Company.GetCompany(Company.Current.CompanyID, Company.Current.CompCode);
if (ds.Tables.Count > 0)
{
ToAddresses = ds.Tables[0].Rows[0]["FleetEmail"].ToString();
}
Utils.ChecklistSendMail("Checklist", ToAddresses, "body"); //error with ToAddresses
ChecklistSendMail功能:
public static void ChecklistSendMail(string Subject, string[] ToAddresses, string Body)
{
System.Net.Mail.MailMessage mailMsg = new System.Net.Mail.MailMessage();
if (ToAddresses != null)
{
foreach (string s in ToAddresses)
{
if (!string.IsNullOrEmpty(s))
{
mailMsg.To.Add(s);
}
}
}
}
如何将字符串转换为字符串[]?
答案 0 :(得分:2)
错误是因为您发送的是单个字符串,而您的参数需要一个字符串数组。
正如您在评论中指出的那样,您将分号分隔的电子邮件作为单个字符串值,您应该基于分号Split
您的字符串,然后使用返回值作为参数。 String.Split
将返回string[]
。所以你的工作代码应该是:
Utils.ChecklistSendMail("Checklist", ToAddresses.Split(';'), "body");