Hi Leute,
kann mir jemand 'n Link zu 'ner Erklärung des/der => Operators/Operatoren geben (Plural, sofern mehrere Bedeutungen vorhanden)? Über Google und die Board-Suche kann ich nichts finden, da man da nicht explizit nach '=>' suchen kann.
Ich kenne eine Verwendung des Operators aus dem Kontext anonymer Methoden
blubbObject.BlubbEvent += (sender, e) =>
{
doSomethingBlubb();
};
Wie nennt man den/die Operator/en im allgemeinen Sprachgebrauch? Wofür verwendet man ihn noch?
Danke!
Grüße,
Hendrik
Halo 7.e.Q,
ein Ausdruck, der diesen Operator verwendet, nennt sich Lambda-Ausdruck. Wofür diese gut sind, hast du ja schon herausgefunden.
herbivore
Danke, den Begriff hab ich gesucht. Perfekt! 👍 👍 👍
=> ist der Lambda Operator und wird wie der Name schon sagt, bei der Deklaration von Lambda Expressions verwendet um Input Argumente auf der linken Seite vom eigentlich Expression Ausdruck auf der rechten Seite zu trennen.
Dein Beispiel ist streng genommen auch keine anonyme Methode, sondern wie schon erwähnt, eine Lambda Expression. Ne anonyme Methode würde so aussehen:
blubbObject.BlubbEvent += delegate(object o, EventArgs e)
{
doSomethingBlubb();
};
Wobei die sich in den meisten Fällen, gerade bei solcher Verwendung, gleich verhalten.
Baka wa shinanakya naoranai.
Mein XING Profil.
Hallo talla,
Wobei die sich in den meisten Fällen, gerade bei solcher Verwendung, gleich verhalten.
an welchen Stellen denn nicht?
herbivore
Wenn die Lambda Expression wirklich als Ausdruck benutzt wird um Expression Trees aufzubauen wie z.b. hier:
Expression<Func<int,double>> squareExp = (x) => Math.Pow(x,2);
Console.WriteLine(squareExp.Compile()(5));
Das hat dann gar nichts mehr mit anonymen Methoden zu tun, der Lambda Ausdruck sieht dabei aber analog zum ersten Beispiel aus.
Auch wenn man Queries in Linq formuliert, werden Lambda Expressions ja in Hülle und Fülle benutzt. Dort sind sie auch nicht einfach nur anonyme Methoden, sondern auch Expression Trees die einen großen Vorteil haben - man kann den Code nachträglich umstrukturieren und optimieren.
Baka wa shinanakya naoranai.
Mein XING Profil.
8o
oooooookay. Expression Trees... Ich glaub, ich geh mal ein bisschen C# lernen. X(
🙂 Es gibt immer was neues zu entdecken
Lambda Ausdrücke haben ja im Zuge von Linq in Version 3.5 vom .Net Framework Einzug gehalten. Gerade wenn man sich mit Linq ausführlich beschäftigt, eigene Linq Provider schreibt z.B, dann muss man sich damit ausführlich beschäftigen um die Ausdrücke optimal verwerten zu können.
Aber im alltäglichen Geschäft, brauch man die weniger obwohl nen paar tolle Dinge mit möglich sind. Nicht schlimm die nicht in aller Tiefe zu kennen. Aber zu wissen, das es sowas gibt, ist immer gut 🙂
Baka wa shinanakya naoranai.
Mein XING Profil.
Naja, mich reizt sowas immer.
Eines meiner größten Hobbies ist es, Programmiersprachen zu lernen, weshalb ich auch jahrelang Softwareentwickler war und so einige Sprachen oberflächlich beherrsche.
Leider hatte ich an meinem Arbeitsplatz nie so recht die Gelegenheit, mal in die Tiefen der C# Programmierung einzusteigen. Das ging bisher immer nur hobbymäßig zuhause oder wenn ich mal wieder Zeit hatte, was privates am Arbeitsplatz zu programmieren; das fiel dann unter Weiterbildung. 😃
Man muss ja alles mal gemacht haben, um mitreden zu können.
Hallo zusammen,
siehe auch [Artikel] Delegaten, anonyme Methoden, Lambda-Ausdrücke & Co.
Beste Grüße,
dN!3L