c# - 在 Asp.NetCore Web API 中将 foreach 用于 C# 的电子邮件
问题描述
我有两个不同的IEnumerable<>
一个来获取 id,gmail inbox
另一个IEnumerable<>
是获取下面的MailMessage
代码列表
client.DefaultMailbox = "INBOX";
IEnumerable<uint> sids = client.Search(SearchCondition.Unseen());
IEnumerable<MailMessage> AllMessage = client.GetMessages(sids);
List<LiteInbox> allmail = new List<LiteInbox>();
现在我想使用两个foreach
来获得来自下方的特殊性,如果我在里面进行迭代Id
,这将影响每个邮件的每个 idMailMessage
gmail inbox
foreach
foreach
foreach (uint ids in sids)
{
id = ids;
LiteInbox lite=new LiteInbox();
foreach(var mail in AllMessage )
{
lite.id=id;
lite.sender=mail.sender;
lite.subject=mail.subject;
}
}
但是,当我运行我的代码时,它首先迭代foreach
所有电子邮件的第一个,然后再迭代第二个foreach
含义,如果unRead
我的 gmail 中有 4 封邮件,它将带来 16 封未读电子邮件,并用这样的单个迭代每 4Id
封
{ [
{
id: 1,
subject: welcome,
body:hbjdbjddjh,
sender: wealsegun@gmail.com },
{
id: 1,
subject: welcome,
body:hbjdbjddjh,
sender: wealsegun@gmail.com },
{
id: 1,
subject: welcome,
body:hbjdbjddjh,
sender: wealsegun@gmail.com },
{
id: 1,
subject: welcome,
body:hbjdbjddjh,
sender: wealsegun@gmail.com },
],
[
{
id: 2,
subject: welcome,
body:hbjdbjddjh,
sender: wealsegun@gmail.com },
{
id: 2,
subject: welcome,
body:hbjdbjddjh,
sender: wealsegun@gmail.com },
{
id: 2,
subject: welcome,
body:hbjdbjddjh,
sender: wealsegun@gmail.com },
{
id: 2,
subject: welcome,
body:hbjdbjddjh,
sender: wealsegun@gmail.com },
]}
解决方案
如果 MailMessage 类具有 sid 属性,则需要检索与每封电子邮件相关联的每个 sid(我怀疑 MailMessage 类是 .Net 框架之一吗?)您需要修改您的一个或两个的签名,Search
因此GetMessages
它返回类似
List<Pair<uint, MailMessage>>
其中列表的每个元素都是消息及其 ID
之后,您将不需要双重 foreach
推荐阅读
- json - 如何在ember中的json数组中设置json对象的参数
- reactjs - css-loader css modules 嵌套组件规则
- kubernetes - 为 pod 分配的默认内存是多少
- r - 近似重复数据删除
- apache-mina - 下面的代码是否正确连接到远程 Linux 主机并使用 Apache Mina 完成一些任务?
- sql - 通过 Docmd TransferDatabase 将表从 MS Access 导出到 Snowflake
- python - 如何在 kali-linux 上安装 pyscopg2?
- wpf - Trigger.ExitActions 部分中的动画 ScaleTransform
- python - jupyter-notebook 命令后 jupyter-notebook 不工作
- python - 如何从另一个文件夹和子文件夹导入 python 文件