假设我有一个字符串列表,如下所示:
var candidates = new List<String> { "Peter", "Chris", "Maggie", "Virginia" };
现在我想验证另一个List<String>,我们称之为它list1,包含这些候选人中的每一个恰好一次。简洁地说,我该怎么做?我想我可以使用Intersect(). 我也想得到失踪的候选人。  
private bool ContainsAllCandidatesOnce(List<String> list1)
{
     ????
}
private IEnumerable<String> MissingCandidates(List<String> list1)
{
     ????
}
顺序无所谓。