Как вы говорите, вы хотите искать по уникальному идентификатору, я рассматриваю уникальные средства, что в списке будет доступна только одна запись. Если вы хотите найти только одну запись, вы можете перейти с FirstOrDefault
//OP used 2 as unique ID, I added constant we can use variable as well
EmailDetails emailDetails = inbox_email_details?.FirstOrDefault(f => f.UniqueID == "2");
Это даст экземпляр EmailDetails с uniqueId = 2, MessageID = b, replyId = h
Теперь вы хотите выполнить поиск с этим результатом, верно?
тогда сначала проверьте, присутствует ли запись или нет?затем используйте то же самое выражение linq
if(emailDetails != null)
{
//Here you haven't specifically mentioned search entity
EmailDetails result = sent_email_details?.FirstOrDefault(f => f.MessageId== emailDetails.MessageId || f.ReplyId == emailDetails.ReplyId);
}
?
до того, как .FirstOrDefault
контрольный список будет нулевым или нет