Запрос и производительность Linq Intersect bool

Я хочу проверить, не совпадают ли элементы в 2-х списках, основываясь на конкретном свойстве, а затем просто вернуть true, false.

Прямо сейчас у меня есть:

public bool CanEdit(List<RoleType> roles)
{
    var rolesThatCanEdit = new List<RoleType>{
                                   RoleType.Administrator, 
                                   RoleType.Editor
                           };
    //check if the roles can edit.
    return rolesThatCanEdit.Intersect(roles).Any();
} 

Но моя догадка, как это работает, заключается в том, что это сделает новый список, а затем просто проверьте, нет ли чего-нибудь в этом списке. Есть ли способ вернуть true для первого совпадающего элемента? В худшем случае нет совпадающих элементов, и он будет прокручивать весь список внутри себя.

9
задан Shawn Mclean 18 September 2011 в 22:59
поделиться