Odpowiedzi na ostatni wpis (Wszelkie szanse na naśladowanie razy() metoda Ruby w C#?) Należy użyć operatora => w przykładach użycia. Co robi ten operator? Nie mogę znaleźć tego w mojej książce C# i ciężko jest szukać takich symboli w Internecie. (Nie mogłem tego znaleźć).Co oznacza operator C# =>?
Odpowiedz
To naprawdę nie jest operator jako taki, jest częścią składni wyrażeń lambda. W szczególności => jest bitem, który oddziela parametry od treści wyrażenia lambda.
Czy Twoja książka obejmuje C# 3.0? Jeśli nie, to nie będzie zawierać wyrażeń lambda. Jeśli tak, to naprawdę powinien je pokryć! Mamy nadzieję, że dzięki właściwej terminologii będziesz mógł znaleźć ją w spisie treści lub indeksie.
EDYCJA: Więcej informacji: Wyrażenie lambda jest fragmentem cukru syntaktycznego, aby utworzyć wystąpienie delegata lub drzewa wyrażeń (to ostatnie jest nowością dla .NET 3.5). Wyrażenia Lambda prawie całkowicie zastępują metody anonimowe (z C# 2.0), chociaż nie wspierają one pojęcia "nie dbają o parametry" w sposób, w jaki robią to metody anonimowe.
To będzie dla wyrażenia lambda:
http://msdn.microsoft.com/en-us/library/bb397687.aspx
Przykładem jest tutaj:
MyControl.OnMouseDown += (sender, e) =>
{
// Do something in the mouse down event
};
Oto Ja stworzyłem delegata zdarzenia wyrażenie lambda. Zasadniczo oszczędza mi to konieczności stworzenia w klasie osobnej funkcji.
Wyrażenie lambda jest anonimową funkcją, która może zawierać wyrażenia i instrukcje i może być używana do tworzenia delegatów lub typów drzewek wyrażeń.
Wszystkie wyrażenia lambda używają operatora lambda =>, który jest odczytywany jako "przechodzi do". Po lewej stronie operatora lambda określa parametry wejściowe (jeśli w ogóle), a po prawej stronie posiada blok ekspresji lub oświadczenie
=> żeton o nazwie operatora lambda.
Jest używany w wyrażeniach lambda do oddzielenia zmiennych wejściowych po lewej stronie od treści lambda po prawej stronie.
- 1. Co oznacza operator ">> =" w C?
- 2. Co oznacza operator "=>" w usłudze w C#?
- 3. Co oznacza "=>"?
- 4. Co oznacza() => w C#?
- 5. Co oznacza operator ': ='?
- 6. Co oznacza operator void *()?
- 7. Co oznacza iterator-> drugi?
- 8. Co oznacza podwójny wykrzyknik !! operator oznacza?
- 9. Co oznacza operator. = W PHP?
- 10. Co oznacza operator "/ =" w JavaScript?
- 11. Co oznacza operator/= w Haskell?
- 12. Co oznacza "=>" w PHP?
- 13. Co robi -> oznacza w celu C
- 14. C++: Co oznacza szablon <class>?
- 15. Co oznacza symbol <??> w języku C# .NET?
- 16. Co oznacza "/// <exclude/>"?
- 17. Co oznacza ">>>" w javascript?
- 18. Co robi? operator oznacza w C# po deklaracji typu?
- 19. C# co robi operator ==?
- 20. Co oznacza symbol <> w MSIL?
- 21. Assert.fail (node.js): co oznacza parametr Operator? Moduł
- 22. Co oznacza operator Bash <<<?
- 23. Scala - Co oznacza "=> SomeType"?
- 24. Co oznacza ">" w CSS?
- 25. Co oznacza "|>" w eliksiru?
- 26. Co oznacza -> _ => w Scala/Lift?
- 27. Co oznacza symbol >> w Haskell
- 28. Co oznacza >> w PHP?
- 29. Co oznacza -> znaczy w F #?
- 30. Co oznacza ta składnia C++?
Ach, moja książka nie obejmuje C# 3.0, więc nic dziwnego, że nie mogła go znaleźć! –
Czy mogę zapytać, co masz na myśli, mówiąc: "Nie dbam o parametry" w sposób, w jaki robią to metody anonimowe ?. Dzięki! – xanatos
@xanatos: Na przykład, aby utworzyć 'EventHandler', który nie używa nadawcy lub argumentów, możesz użyć' delegate {Console.WriteLine ("Called"); } 'bez określania listy parametrów. Można go przekształcić w * dowolny * typ delegata z typem zwracanej pustki i wszystkimi parametrami "w". –