[英]How to add existing string array value with this code?
Variable.cs
public string[] CcEmails { get; set; }
Mail.cs
EDTO.CcEmails = dr["rsh_ccmail"].ToString().Split(';');
在這里,我有兩個字符串。 xxxx@gmail.com; yyy@gmail.com
MailProcess.cs
dataRPT1=get data from sql
EDTO.CcEmails = new string[dataRPT1.Rows.Count];
for (int i = 0; i < dataRPT1.Rows.Count; i++)
{
EDTO.CcEmails[i] = dataRPT1.Rows[i]["email_addr"].ToString();
}
在這里,我得到了字符串列表,例如:aaa@gmail.com ............我嘗試用現有的添加,但它僅添加新的值。任何人都可以幫助我..
我發現最簡單的方法是創建一個列表,向列表中添加項目,然后使用string.Join創建新字符串。
var items = new List<string>();
for (int i = 0; i < dataRPT1.Rows.Count; i++)
{
items.Add(dataRPT1.Rows[i]["email_addr"].ToString());
}
EDTO.CcEmails = string.Join(";", items);
更改問題后更新:
如果CcEmails的類型是數組,則最后一行可能是:
EDTO.CcEmails = items.ToArray();
我傾向於使用並集,盡管那樣會刪除重復的條目。 但是要保留所有條目,您可以在陣列上使用Concat。
var emailString = "me@test.com;you@test.com";
string[] emails = emailString.Split(';');
string[] emailsFromSQL = new string[3];
emailsFromSQL[0] = "everyone@test.com";
emailsFromSQL[1] = "everyone2@test.com";
emailsFromSQL[2] = "everyone2@test.com";
//No Duplicates
var combined = emails.Union(emailsFromSQL).ToArray();
//Duplicates
var allCombined = emails.Concat(emailsFromSQL).ToArray();
謝謝
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.