Articles of lambda

convertir un fichier .net Func en une expression .net <Func >

Passer d’un lambda à une expression est facile en utilisant un appel de méthode … public void GimmeExpression(Expression<Func> expression) { ((MemberExpression)expression.Body).Member.Name; // “DoStuff” } public void SomewhereElse() { GimmeExpression(() => thing.DoStuff()); } Mais je voudrais transformer le Func en une expression, seulement dans de rares cas … public void ContainTheDanger(Func dangerousCall) { try { dangerousCall(); […]

Comment fonctionne lambda générique en C ++ 14?

Comment fonctionne lambda générique (mot auto clé auto comme type d’argument) dans la norme C ++ 14? Est-il basé sur des modèles C ++ où chaque compilateur de type d’argument génère une nouvelle fonction avec le même corps mais remplace les types (polymorphism à la compilation) ou est-il plus similaire aux génériques de Java (type […]

Une expression lambda C # peut-elle contenir plusieurs instructions?

Une expression lambda C # peut-elle inclure plusieurs instructions? (Modifier: comme indiqué dans plusieurs réponses ci-dessous, cette question portait à l’origine sur les “lignes” plutôt que sur les “déclarations”.)

Est-ce qu’un java lambda peut avoir plus d’un paramètre?

En Java, est-il possible qu’un lambda accepte plusieurs types différents? Ie: variable unique fonctionne: Function adder = i -> i + 1; System.out.println (adder.apply (10)); Varargs travaille aussi: Function multiAdder = ints -> { int sum = 0; for (Integer i : ints) { sum += i; } return sum; }; //…. System.out.println ((multiAdder.apply (new […]

Quel est le type de lambda lorsqu’il est déduit avec «auto» en C ++ 11?

J’ai eu l’impression que le type d’un lambda est un pointeur de fonction. Lorsque j’ai effectué le test suivant, je l’ai trouvé faux ( démo ). #define LAMBDA [] (int i) -> long { return 0; } int main () { long (*pFptr)(int) = LAMBDA; // ok auto pAuto = LAMBDA; // ok assert(typeid(pFptr) == […]

Java 8 lambda Argument vide

Disons que j’ai l’interface fonctionnelle suivante dans Java 8: interface Action { U execute(T t); } Et dans certains cas, j’ai besoin d’une action sans arguments ni type de retour. Alors j’écris quelque chose comme ceci: Action a = () -> { System.out.println(“Do nothing!”); }; Cependant, cela me donne une erreur de compilation, je dois […]

Quelle est l’utilisation de l’interface fonctionnelle dans Java 8?

Je suis tombé sur un nouveau terme nommé Interface fonctionnelle dans Java 8. Je ne pouvais trouver qu’une seule utilisation de cette interface en travaillant avec des expressions lambda . Java 8 fournit des interfaces fonctionnelles intégrées et si nous voulons définir une interface fonctionnelle, nous pouvons utiliser l’annotation @FunctionalInterface . Cela nous permettra de […]

Comment utiliser un lambda Java8 pour sortinger un stream dans l’ordre inverse?

J’utilise java lambda pour sortinger une liste. Comment puis-je le sortinger de manière inverse? J’ai vu ce post , mais je veux utiliser java 8 lambda. Voici mon code (j’ai utilisé * -1) comme un hack Arrays.asList(files).stream() .filter(file -> isNameLikeBaseLine(file, baseLineFile.getName())) .sorted(new Comparator() { public int compare(File o1, File o2) { int answer; if (o1.lastModified() […]

Max valeur de retour si requête vide

J’ai cette requête: int maxShoeSize=Workers.Where(x=>x.CompanyId==8).Max(x=>x.ShoeSize); Qu’y aura-t-il dans maxShoeSize si l’entreprise 8 n’a pas de personnel du tout? METTRE À JOUR: Comment puis-je modifier la requête pour obtenir 0 et pas une exception?

Les expressions lambda ont-elles d’autres utilisations que l’enregistrement de lignes de code?

Les expressions lambda ont-elles d’autres utilisations que l’enregistrement de lignes de code? Lambdas propose-t-il des fonctionnalités spécifiques pour résoudre des problèmes difficiles à résoudre? L’utilisation typique que j’ai vue est qu’au lieu d’écrire ceci: Comparator byName = new Comparator() { @Override public int compare(Developer o1, Developer o2) { return o1.getName().compareTo(o2.getName()); } }; Nous pouvons utiliser […]