Enumerable.Intersect can give you the IDs that occur in both lists. e.g.
id_list.Select(x => x.ID.ToString()).Intersect(ListID)
Enumerable.Except can give you the IDs in the first list that do not occur in the second. e.g.
ListID.Except(id_listSelect(x => x.ID.ToString())
1
solved How do I get equal and not equal value between two list using Linq lambda expression