C# 如何循环通过具有限制条件的邮箱?

C# 如何循环通过具有限制条件的邮箱?,c#,outlook,office-interop,C#,Outlook,Office Interop,我看到了许多关于如何循环浏览邮件的问题,这些问题我很容易回答。但我正在努力解决的问题是限制收集,这样我就只能根据crtieria(例如date)重复少量的电子邮件 这里有什么可能?林克?兰姆达?查找/限制?-什么最有效 这是我到目前为止尝试过的,但我很难得到任何东西,集合返回null:(查询为null引用,未设置为reference或object) 这是可行的,因为查询需要短日期表示 插值也可以用 string sFilter = $"[SentOn] >

我看到了许多关于如何循环浏览邮件的问题,这些问题我很容易回答。但我正在努力解决的问题是限制收集,这样我就只能根据crtieria(例如date)重复少量的电子邮件

这里有什么可能?林克?兰姆达?查找/限制?-什么最有效

这是我到目前为止尝试过的,但我很难得到任何东西,集合返回null:(查询为null引用,未设置为reference或object)


这是可行的,因为查询需要短日期表示

插值也可以用

            string sFilter = $"[SentOn] > '{DateTime.Today.AddDays(-7).ToShortDateString()}'";
            var query = itemsIn.Restrict(sFilter);
            return query;
        }

Items.Find/FindNext
Items.Restrict
是最有效的:它们在商店提供商级别上实现

Linq或Lambda在源代码中可能看起来不错,但它们仍然可以显式地迭代集合中的所有项。不要将then与Outlook的
项目
集合一起使用

            string sFilter = $"[SentOn] > '{DateTime.Today.AddDays(-7).ToShortDateString()}'";
            var query = itemsIn.Restrict(sFilter);
            return query;
        }