i have a two list
List SentList; List MsgList;
both have the same property called MsgID;
MsgList
Well, you already have good answers, but they're most Lambda. A more LINQ approach would be like
var NotSentMessages = from msg in MsgList where !SentList.Any(x => x.MsgID == msg.MsgID) select msg;