2009-05-07 11 views
1

J'apprends encore certaines des fonctionnalités de C# 3.0 et je veux savoir si ce qui suit peut être réduit à une expression lambda.Lambda Exemple

var SomeObject = Combo.EditValue; 
var ObjectProperty = SomeObject.Property; 

Pour obtenir ObjectProperty à partir de combo.editvalue dans une seule ligne?

Aussi, si vous pouvez me fournir de bonnes références aux expressions lambda, ce serait apprécié.

EDIT: Ok, les réponses affichées sont bonnes, il semble que l'exemple n'a pas besoin d'un Lambda pour satisfaire la solution. Je jetterai un coup d'oeil aux liens de référence cependant ... un grand merci à ceux qui ont contribué.

Répondre

5

Vous ne avez pas vraiment besoin lambdas pour faire tout ce que vous devez faire est

var ObjectProperty = Combo.EditValue.Property; 

Je ne suis pas sûr qu'un lambda va faire que plus lisible pour vous.

Voici quelques livres que vous voudrez peut-être jeter un oeil à apprendre lambdas plus en détail, et aussi pourquoi vous les utiliser:

More Effective C#

C# In Depth

MSDN Reference

+0

Je pensais la même chose et j'essayais de voir s'il y avait des nuances qui me manquaient dans la question. Cela semble raisonnable cependant :) – workmad3

+0

J'étais sur le point de poster la même chose. – JohnOpincar

+0

Ouais je cherche toujours une bonne référence lambda pour le gars, bien que – Joseph

0

En combinant ceux-ci dans une ligne, vous courez le risque d'une exception NullReferenceException, en vérifiant la propriété Property sur EditValue. :) Mais, here is a really great tutorial sur C# 3.0 et la programmation fonctionnelle.

+0

Il y a un risque de NullReferenceException lorsque le code est sur deux lignes, sauf si vous ajoutez un code supplémentaire pour vérifier en premier ... – codeulike

+0

Il courait le risque de toute façon, il ne vérifiait pas la première place = P Il aurait besoin pour vérifier de quelle manière il est allé. – Joseph

+0

C'est vrai, je n'ai pas aimé la façon dont Combo.EditValue.Property a regardé sur la page, donc je l'ai sauté. :) –

0

cela ne semble pas avoir besoin d'un lambda.
pas Pouvez-vous utiliser juste

var ObjectProperty = Combo.EditValue.Property 

En ce qui concerne les références lambda tentent 101 LINQ Examples pour commencer.