无法从'string'转换为'string []'

时间:2016-03-21 17:06:16

标签: c# asp.net string

我正在尝试编写一些代码,将电子邮件发送到保存在数据库中的电子邮件地址。 我有代码找到地址,但我得到错误:

  

无法从'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);
                    }
                }
            }
        }

如何将字符串转换为字符串[]?

1 个答案:

答案 0 :(得分:2)

错误是因为您发送的是单个字符串,而您的参数需要一个字符串数组。

正如您在评论中指出的那样,您将分号分隔的电子邮件作为单个字符串值,您应该基于分号Split您的字符串,然后使用返回值作为参数。 String.Split将返回string[]。所以你的工作代码应该是:

Utils.ChecklistSendMail("Checklist", ToAddresses.Split(';'), "body");