Réponses à un message récent (Toute possibilité d'imiter times() Méthode Ruby en C#?) Utilise l'opérateur => dans les exemples d'utilisation. Que fait cet opérateur? Je ne peux pas le trouver dans mon livre C#, et il est difficile de chercher des symboles comme celui-ci en ligne. (Je ne pouvais pas le trouver.)Que signifie l'opérateur C# =>?
Répondre
Ce n'est pas vraiment un opérateur en tant que tel, cela fait partie de la syntaxe des expressions lambda. En particulier => est le bit qui sépare les paramètres du corps de l'expression lambda.
Est-ce que votre livre couvre C# 3.0? Sinon, il n'inclura pas les expressions lambda. Si c'est le cas, il devrait vraiment les couvrir! Espérons qu'avec la bonne terminologie, vous pourrez le trouver dans la table des matières ou dans l'index.
EDIT: Un peu plus d'informations: Une expression lambda est un morceau de sucre syntaxique soit pour créer une instance d'un délégué ou un arbre d'expression (ce dernier étant nouveau pour .NET 3.5). Les expressions lambda remplacent presque entièrement les méthodes anonymes (à partir de C# 2.0) bien qu'elles ne supportent pas la notion de "je ne me soucie pas des paramètres" de la même manière que les méthodes anonymes.
Ce sera pour une expression lambda:
http://msdn.microsoft.com/en-us/library/bb397687.aspx
Un exemple est ici:
MyControl.OnMouseDown += (sender, e) =>
{
// Do something in the mouse down event
};
Ici, j'ai créé un délégué d'événement d'expression lambda. Cela me sauve essentiellement d'avoir à créer une fonction séparée pour cela dans la classe.
Une expression lambda est une fonction anonyme qui peut contenir des expressions et des instructions et peut être utilisée pour créer des délégués ou des types d'arborescence d'expression.
Toutes les expressions lambda utilisent l'opérateur lambda =>, qui est lu comme "va à". Le côté gauche de l'opérateur lambda spécifie les paramètres d'entrée (le cas échéant) et le côté droit tient l'expression ou un bloc d'instructions
Le => jeton est appelé l'opérateur lambda.
Il est utilisé dans les expressions lambda pour séparer les variables d'entrée du côté gauche du corps lambda du côté droit.
- 1. Que signifie "() =>" en C#?
- 2. Que signifie JavaScript >>?
- 3. Que signifie la syntaxe '=>' dans C#?
- 4. Que signifie "=>" en PHP?
- 5. Que signifie cmd/C?
- 6. Que signifie la méthode <ClassName>?
- 7. Que signifie <E> dans Collection <E>?
- 8. Que signifie Chaîne * en C#?
- 9. C++ - Que signifie "Stack automatique"?
- 10. Que signifie cette construction php: $ html-> redirect ("URL")?
- 11. ASP.NET: Que signifie le '#' commençant un <% %>?
- 12. Que signifie «Nil» en Obj-C?
- 13. Que signifie le symbole & dans Objective-C?
- 14. Que signifie ce code dans "vector"? (C++)
- 15. C++ Que signifie le signe pourcentage?
- 16. Que signifie "(void) new" en C++?
- 17. Que signifie "FunctionName (bool() args)" en C#?
- 18. Que signifie "==="?
- 19. Que signifie = *?
- 20. Que signifie %%?
- 21. <sécurité: custom-authentication-provider /> signifie?
- 22. Que fait l'opérateur =>?
- 23. Que signifie __FILE__?
- 24. Que signifie "lignes [0]"?
- 25. Que signifie "Cor"?
- 26. Que signifie "classe const"?
- 27. Que signifie cette déclaration?
- 28. que signifie cette sortie?
- 29. Que signifie 8badf00d?
- 30. Que signifie la macro?
Ah, mon livre ne couvre pas C# 3.0, donc pas étonnant que je ne pouvais pas le trouver! –
Puis-je vous demander ce que vous voulez dire par «je m'en fiche des paramètres» de la même façon que les méthodes anonymes? Merci! – xanatos
@xanatos: Par exemple, pour créer un 'EventHandler' qui n'utilise pas l'expéditeur ou les arguments, vous pouvez utiliser 'delegate {Console.WriteLine (" Called "); } 'sans spécifier de liste de paramètres. C'est convertible en type de délégué * any * avec un type de retour de void et tous les paramètres "in". –