実際の値にスワップアウトしたいいくつかのフィールドを含むメッセージの文字列があります
var message = "Hi [CustomerName]. Its [TODAY], nice to see you were born on the [DOB]!";
var mappingCodes = new List<string> {"[CUSTOMER_NAME]","[DOB]",[TODAY]};
var customEmails = new Dictionary<string, string>();
var today = DateTime.Now;
var customers = new List<Customer>()
{
new Customer()
{
FirstName = "Jo",
LastName = "Bloggs",
Email = "jo@bloggs.com",
DOB = "10/12/1960"
}
};
foreach (var customer in customers)
{
var emailMessage = "";
customEmails.Add(customer.Email,emailMessage);
}
私がやろうとしているのは、各顧客をループして、mappingCodes のいずれかを実際のコードに置き換えるメッセージを取得することです。
例 [Today] 今日CustomerName
はCustomer.FirstName + Customer.LastName
何千人もの顧客がいる可能性があるので、堅牢なものが必要です。mappingCodes
最初に文字列にいずれかが含まれていることを確認してから、それらを目的の値に置き換える方法がわかりません。
何かアドバイス?