我有一个具有 Recipients 属性(字符串数据类型)的 Report 对象。Recipients 属性将保存所有收件人的电子邮件地址comma separated string
。我需要从逗号分隔的字符串中创建一个电子邮件对象的“<strong>Collection”。我有以下代码使用字符串列表 首先获取电子邮件地址。然后我创建了一个电子邮件对象的集合。
有没有更好的方法来避免使用多余的 List 和 Collection LINQ
?
Report report = new Report();
report.Recipients = "test@test.com, demo@demo.com";
List<string> emailAddressList = new List<string>( report.Recipients.Split(',') );
Collection<Email> emailObjectCollection = new Collection<Email>();
foreach (string emailAddress in emailAddressList)
{
Email email = new Email();
email.EmailAddress = emailAddress;
emailObjectCollection.Add(email);
}
参考资料:
- 避免使用一本字典的更好代码 - 区分大小写问题
- 使用 linq 删除列表中的重复项
- 使用 LINQ 跨多个属性查找重复项
- C#:List<T> 和 Collection<T> 之间的区别(CA1002,不要公开通用列表)
CA1002:不要公开通用列表。System.Collections.Generic.List 是为性能而非继承而设计的通用集合,因此不包含任何虚拟成员。http://msdn.microsoft.com/en-us/library/ms182142(v=vs.80).aspx