Articles of lambda

Quel est le but de la classe Expression?

Je me demande quelle est exactement la différence entre envelopper un délégué dans Expression et non? Je vois que Expression est beaucoup utilisée avec LinQ, mais jusqu’à présent, je n’ai trouvé aucun article expliquant la différence et utilisant simplement un délégué. Par exemple Func Is42 = (value) => value == 42; contre. Expression<Func> Is42 = […]

Comment simplifier la répétition de la construction if-then-assign?

J’ai la méthode suivante: protected override bool ModifyExistingEntity(Product entity, ProductModel item) { bool isModified = false; if (entity.Title != item.Title) { isModified = true; entity.Title = item.Title; } if (entity.ServerId != item.Id) { isModified = true; entity.ServerId = item.Id; } return isModified; } Je me demande si vous pourriez suggérer une meilleure façon de mettre […]

Lambdas: les variables locales ont besoin des dernières variables d’instance

Dans un lambda, les variables locales doivent être définitives, mais pas les variables d’instance. Pourquoi donc

Extension d’entité manquante Inclure l’extension (lambda)

L’ OjbectSet.Include(a => a.parent) EF OjbectSet.Include(a => a.parent) n’est pas disponible. Je sais que je pourrais append du code pour l’imiter, mais selon EntityFramework 4 mis à niveau à 5, lambda n’est pas disponible, il devrait être disponible. J’ai le using System.Data.Entity , et je suis mis à niveau vers EF 5 dans mon projet […]

Comment utiliser Lambda dans l’instruction select LINQ

J’essaie de sélectionner des magasins en utilisant une fonction lambda et de convertir le résultat en un SelectListItem pour pouvoir le rendre. Cependant, il lance une erreur ” Type d’expression dans la clause Select est incorrecte “: IEnumerable stores = from store in database.Stores where store.CompanyID == curCompany.ID select (s => new SelectListItem { Value […]

Capture d’une référence par référence dans un lambda C ++ 11

Considère ceci: #include #include std::function make_function(int& x) { return [&]{ std::cout << x << std::endl; }; } int main() { int i = 3; auto f = make_function(i); i = 5; f(); } Ce programme est-il garanti à la sortie 5 sans invoquer un comportement indéfini? Je comprends comment cela fonctionne si je capture x […]

Mutant l’arbre d’expression d’un prédicat pour cibler un autre type

Introduction Dans l’application sur laquelle je travaille actuellement, il existe deux types de chaque object métier: le type “ActiveRecord” et le type “DataContract”. Ainsi, par exemple, il y aurait: namespace ActiveRecord { class Widget { public int Id { get; set; } } } namespace DataContract { class Widget { public int Id { get; […]

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. […]