Poniższy kod jest częścią autoryzacji. Próbuję mentalnie zobrazować to, co on faktycznie robi, ale nie mógł jakoś.Czy ktoś mógłby wyjaśnić mi to wyrażenie lambda? To miło doprowadza mnie do szału
IsAuthorized = ((x, y) => x.Any(z => y.Contains(z)));
Czy ktokolwiek mógłby wyjaśnić mi to wyrażenie lambda?
Dzięki!
Edit:
IsAuthorized to typ delegata. Poprzedni programista, który o tym pisze, chce zachować to w tajemnicy, umieszczając delegata na końcu pliku cs.
Rzeczywisty kod jest:
public delegate bool IsAuthorized(IEnumerable<Int32> required, IEnumerable<Int32> has);
IsAuthorized = ((x, y) => x.Any(z => y.Contains(z)));
jestem trochę zdezorientowany przez 'z' tutaj. Co oznacza z oznacza x i y? – wei
z to identyfikator dla każdego elementu w zbiorze x. Metoda Contains() zostanie wywołana dla każdego elementu wx. z dostarcza bieżący element w wyliczeniu dla y.Contains() –
czy jest to poprawne (zakładając, że jest to C#, ze względu na znacznik .net)? ponieważ nie ma kontekstu co xiy są – BlackTigerX