2016-09-26 9 views
0

NotSeen & NotDeletedのような複数の条件に基づいてメールキットを使ってimap inboxを検索したい。私は、個々の検索クエリを行う場合、その質問が受容的であることを知っています。複数の条件に基づいてメールキットでimap inboxを検索するには?

var uids = client.Inbox.Search(SearchQuery.NotSeen); 
var uids = client.Inbox.Search(SearchQuery.NotDeleted); 

が、私は一緒に&をこれら2つのクエリを配置する必要があり、条件に基づいて、すべてのUIDを取得します。 ご協力いただければ幸いです。

答えて

1

あなたは(使用して検索クエリを結合し、することができます)および/またはOr():返信用

var uids = client.Inbox.Search (SearchQuery.NotSeen.And (SearchQuery.NotDeleted)); 

または

var uids = client.Inbox.Search (SearchQuery.And (SearchQuery.NotSeen, SearchQuery.NotDeleted)); 
+0

おかげで...素晴らしい答え:) – aspdotnetdevelopertest

+0

尋ねる必要がある場合/ SearchQueryの最初の10のメールベースを取得する場合はどうすればよいですか? –

+0

@ParthAkbariあなたは2つの選択肢があります。上のように 'Search'メソッドを使いますが、最初の10個のuidを使うだけです(既定の順序付けが必要だと仮定します)。あるいは、あなたは' SearchQuery'を上記と同じように構築することができます。代わりに[Sort](http://www.mimekit.net/docs/html/M_MailKit_Net_Imap_Imap_ImapFolder_Sort_1.htm)メソッドを呼び出します(これは 'Search'と同じ結果を返しますが、あなたが求めている順序どおりです)。例: 'var uids = folder.Sort(query、new OrderBy [] {OrderBy.ReverseArrival});' – jstedfast

0

私はそれを管理する方法を見つけました。あなたがより良い方法を持っているなら、私に提案してください。

  var unread = client.Inbox.Search(SearchQuery.NotSeen); 
      var Deleted = client.Inbox.Search(SearchQuery.Deleted); 
      var Res = unread.Except(Deleted).ToList(); 
関連する問題