c# - 如何为数组的第一个和第二个或最后一个和最后一个元素发送电子邮件
问题描述
我有一系列电子邮件地址。我可以使用 foreach(如下)发送所有电子邮件。如何仅针对给定数组中的第一个和第二个元素或最后一个和最后一个元素发送电子邮件?
string[] emails = storeEmails.Split(new char[] { ';' });
foreach (string emailTo in emails)
{
emailTemplate.Email = emailTo;
_eventService.SendEmail(emailTemplate, emailBody);
}
解决方案
您可以使用Linq轻松做到这一点。
这是一个采用前两个的示例(使用xUnit演示):
using System.Linq;
using Xunit;
namespace Q54736241
{
public class Example
{
[Fact]
public void Example1()
{
var strings = new[] { "one", "two", "three", "four", "five" };
var firstTwo = strings.Take(2);
Assert.Equal(new[] {"one", "two"}, firstTwo);
}
}
}
您需要做更多的工作才能获得最后两个。查看这个相关问题以获取一些示例:Using Linq to get the last N elements of a collection?
推荐阅读
- python - 如何在python中将字符串转换为可读的时间格式?
- date - 如何在winhex中计算zip文件的名称、日期和时间?
- python-3.x - Pycharm中如何使用Kivy(1.10.1)解释器(社区版2018.3.5)
- autotools - 使用 automake 将文件复制为默认目标的一部分
- java - 我们如何在二叉搜索树中获得给定值的高度(当给定值为字符串时)
- python - 尝试用特定值填充整行/列时出现形状不匹配值错误
- android - 每当我添加 Firebase 性能监控时,应用程序都无法安装
- .net - RabbitMQ .Net 核心
- reactjs - 如何将道具传递给 React Big Calendar 自定义组件?
- sql - 有没有办法检查一个表是否包含答案表中某一列中一个特定 ID 的所有记录?