Totuși, a trebuit să folosesc () când am declarat expresia lambda, astfel încât compilatorul să înțeleagă că aceasta nu are parametri.
Still, I still had to use () when I declared the lambda expression, so that the compiler understands that it has no parameters.
De exemplu, expresia lambda de mai jos implementează o structură de arbore de date când îi sunt furnizați parametrii pentru un leftSubTree și un rightSubTree.
For example, the lambda expression below implements a tree data structure when supplied with parameters for a leftSubTree and rightSubTree.
De fiecare dată când apelăm ReturneazaOLambda, amintiți-vă, compilatorul transformă de fapt expresia lambda returnată în Action: return new Action(() =>i++);.
Every time we call ReturnALambda, remember, the compiler actually converts the returned lambda expression into an Action: return new Action(() =>i++);.
Aceasta înseamnă că expresia lambda nu este desfășurată în clasa Program, așa cum face compilatorul cu toate expresiile lambda, ci este desfășurată într-o clasă proprie imbricată, din singurul motiv de a fi o closure.
This means that the lambda expression does not get unwrapped in our Program class, as the compiler does with all lambda expressions, it gets unwrapped inside a nested class of its own, for the single reason of being a closure.
Outros resultados
Dar dacă compilatorul ar fi desfășurat expresia noastră lambda ca o variabilă i statică în interiorul clasei Program, atât a, cât și b, ar face referire la același i, deci, indiferent dacă aș invoca a sau b, acestea ar incrementa același i.
But if the compiler unwrapped our lambda expression as a static i inside Program class, both a and b would reference the same i, so, regardless if I would invoke a or b, they would increment the same i.
Daca o variabila din interiorul unei expresii lambda nu se intalneste in interiorul functiei care o defineste, atunci acesta va prelua variabila din mediul in care expresia este declarata
If a variable from inside a lambda expression doesn't exist in the scope of the function definition, then it will be retrieved from the environment in which the expression was declared
Conteúdo potencialmente sensível ou impróprio
Os exemplos servem apenas como ajuda na tradução da palavra ou da expressão procurada. Eles não são selecionados ou validados por nós e podem conter linguagem inapropriada. Pedimos que reporte exemplos que devem ser modificados ou que não devem ser exibidos. As traduções potencialmente sensivéis, impróprias ou coloquiais geralmente são marcadas em vermelho ou em laranja.