我有2個包含電子郵件地址的列表。我使用列表聯盟來加入他們,以獲得最終的電子郵件列表,但有時,列表中的任何一個都可能爲空。發生什麼事的是,當一個列表爲空時,它將它添加到最終列表中作爲「」之後的聯合,這導致電子郵件.Send()崩潰在空的電子郵件地址。我怎麼能告訴工會忽略空值?下面是我有C#列出空白值的聯盟
List<string> _RecordOwnerEmailList = new List<string>();
List<string> _SubmissionEmailList = new List<string>();
List<string> _EmailList = new List<string>();
string _RecordOwnerEmails = String.Empty;
string _SubmissionEmails = String.Empty;
if (dsRecordOwner.Tables[0].Rows.Count > 0 && !String.IsNullOrEmpty(dsRecordOwner.Tables[0].Rows[0]["UpdateEmail"].ToString()))
_RecordOwnerEmails = dsRecordOwner.Tables[0].Rows[0]["UpdateEmail"].ToString().Replace(" ", "");
if (this.ID > 0)
_RecordOwnerEmailList = new List<string>(_RecordOwnerEmails.Replace(" ", "").Split(';').ToList());
if (dsEmails.Tables[0].Rows.Count > 0 && !String.IsNullOrEmpty(dsEmails.Tables[0].Rows[0]["Emails"].ToString()))
_SubmissionEmails = dsEmails.Tables[0].Rows[0]["emails"].ToString().Replace(" ", "");
_SubmissionEmailList = new List<string>(_SubmissionEmails.Replace(" ", "").Split(';').ToList());
_EmailList = _RecordOwnerEmailList.Union(_SubmissionEmailList).ToList();
string[] emails = _EmailList.ToArray();
foreach (string emailAddress in emails)
{
//send email
}
爲什麼將列表轉換爲數組?您可以輕鬆地遍歷列表。 – 2013-03-15 17:30:35
請將您的代碼格式化得更清晰。目前很難閱讀。 (我還強烈建議使用較短的行,更多的語句和解釋性局部變量,並在每個if語句中使用大括號,但這是針對* real *代碼的,而不僅僅是SO)。 – 2013-03-15 17:31:06
代碼被預先寫入一個數組,我只是用列表修改了最初的數組內容。對格式化抱歉,我會在將來觀看。 – 2013-03-15 17:36:20