Articles of lambda

Utilisation de l’expression lambda à la place de l’argument IComparer

Est-il possible avec C # de passer une expression lambda en tant qu’argument IComparer dans un appel de méthode? par exemple quelque chose comme var x = someIEnumerable.OrderBy(aClass e => e.someProperty, (aClass x, aClass y) => x.someProperty > y.SomeProperty ? 1 : x.someProperty < y.SomeProperty ? -1 : 0); Je ne peux pas vraiment comstackr […]

Pourquoi est-il mauvais d’utiliser une variable d’itération dans une expression lambda

Je viens d’écrire un code rapide et j’ai remarqué cette erreur compliquée L’utilisation de la variable d’itération dans une expression lambda peut avoir des résultats inattendus. Créez plutôt une variable locale dans la boucle et atsortingbuez-lui la valeur de la variable d’itération. Je sais ce que cela signifie et je peux facilement y remédier, pas […]

Quel est le moyen le plus simple d’obtenir la valeur de propriété d’une expression lambda transmise dans une méthode d’extension pour HtmlHelper?

J’écris une sale petite méthode d’extension pour HtmlHelper afin que je puisse dire quelque chose comme HtmlHelper.WysiwygFor (lambda) et afficher le CKEditor. J’ai ce travail actuellement, mais cela me semble un peu plus lourd que je ne le souhaiterais. J’espère qu’il y a une façon plus simple de le faire. Voici ce que j’ai jusqu’ici. […]

Java 8 Collectors.toMap SortedCarte

J’utilise Java 8 lambdas et je veux utiliser Collectors toMap pour renvoyer une SortedMap . Le mieux que je puisse trouver est d’appeler la méthode Collectors toMap suivante avec un fictif mergeFunction et mapSupplier égal à TreeMap::new . public static <T, K, U, M extends Map> Collector toMap(Function keyMapper, Function valueMapper, BinaryOperator mergeFunction, Supplier mapSupplier) […]

Entityframework Join en utilisant la méthode de jointure et lambdas

Il semble qu’il y ait différentes manières de faire des jointures en utilisant linq. L’une est plus simple et implique simplement de joindre des tables comme ceci: var found = from c in s.categories join cm in s.categorymaps on c.CategoryId equals cm.ChildCategoryId select c; Il y a une autre façon d’utiliser lambdas et j’ai beaucoup […]

Le «type» d’une expression lambda peut-il être exprimé?

En pensant aux expressions lambda comme «sucre syntaxique» pour les objects appelables, le type sous-jacent sans nom peut-il être exprimé? Un exemple: struct gt { bool operator() (int l, int r) { return l > r; } } ; Maintenant, [](int l, int r) { return l > r; } [](int l, int r) { […]

Les expressions Lambda dans les fermetures C # sont-elles?

Les expressions lambda (et dans une certaine mesure, les fonctions anonymes) sont-elles fermées? Ma compréhension des fermetures est que ce sont des fonctions qui sont traitées comme des objects, ce qui semble être une représentation précise de ce que font les fonctions anonymes et les expressions Lambda. Et est-il correct de les appeler fermetures? Je […]

Java Lambda Stream Distinct () sur une clé arbitraire?

J’ai souvent rencontré un problème avec les expressions lambda Java où je voulais distinguer () un stream sur une propriété ou une méthode arbitraire d’un object, mais je voulais garder l’object plutôt que le mapper à cette propriété ou méthode. J’ai commencé à créer des conteneurs comme nous en avons discuté ici, mais j’ai commencé […]

Récupère la propriété, sous forme de chaîne, à partir d’une expression <Func >

J’utilise des expressions fortement typées qui sont sérialisées pour permettre à mon code d’interface utilisateur d’avoir des expressions de sorting et de recherche fortement typées. Celles-ci sont de type Expression<Func> et sont utilisées telles SortOption.Field = (p => p.FirstName); : SortOption.Field = (p => p.FirstName); . Cela fonctionne parfaitement pour ce cas simple. Le code […]

Comment obtenir le MethodInfo d’une référence de méthode Java 8?

S’il vous plaît jeter un oeil au code suivant: Method methodInfo = MyClass.class.getMethod(“myMethod”); Cela fonctionne, mais le nom de la méthode est passé en tant que chaîne, donc cela comstackra même si myMethod n’existe pas. D’autre part, Java 8 introduit une fonctionnalité de référence de méthode. Il est vérifié au moment de la compilation. Il […]