C#中如何将字符串邮箱列表批量生成XYZ对象传入message列表
批量生成XYZ列表的实现方法
原有代码的逻辑偏差是直接把整个邮箱列表赋值给单个
EmailAddress的Address属性,正确逻辑需要遍历列表的每个字符串,为每个字符串单独创建对应的XYZ实例,全程不需要手动枚举每一个邮箱条目。
两种常用实现方式
1. LINQ投影写法(代码最简洁)
需提前引入System.Linq命名空间,通过投影逻辑把每个邮箱字符串映射为对应的XYZ对象:
var message = ccEmailAddress .Select(email => new XYZ { EmailAddress = new EmailAddress { Address = email } }) .ToList();
2. 原生foreach写法(无LINQ依赖)
如果项目环境不方便引入LINQ,可以用循环实现完全等价的效果:
var message = new List<XYZ>(); foreach (var email in ccEmailAddress) { message.Add(new XYZ { EmailAddress = new EmailAddress { Address = email } }); }
两种实现生成的message列表,和手动逐行初始化对象的结果完全一致,会自动适配ccEmailAddress的元素数量,后续调整邮箱列表的内容、增减条目时,这段转换逻辑不需要任何修改。
内容的提问来源于stack exchange,提问作者user989988
相关产品推荐
相关产品推荐

