В моей книге C# в нем говорится: «Оператор лямбды« = = »(читается как« идет »)».Почему не лямбда-функции не вносят подобные проблемы, как утверждения goto?
Я некоторое время задавался вопросом, в чем разница между выражением goto и лямбдой в терминах хорошей практики кодирования. Если goto's избегают из-за возможности свернутого кода, то не могли ли выражения лямбда привести к этой же проблеме? В более общем плане, почему меня очень поощряют использовать лямбда-функции, в то время как мне очень не рекомендуется использовать goto? (т. е. я хорошо понимаю, почему goto's непопулярны, но почему нет подобных лямбда-функций непопулярными по аналогичным причинам?)
Я только предполагаю, что лямбда-функции оценивают и возвращают что-то, где мы не знаем, что goto может пойти, чтобы сделать. Это, по крайней мере, должно облегчить тестирование лямбда-функций, поскольку они больше согласуются с идеями организованного объектно-ориентированного кода.
«идет в«! = «Перейти». В вашем последнем абзаце объясняется, почему лямбды принимаются, а gotos - нет. «go to», вероятно, следует перевести как «преобразован в» или «результат», в то время как «goto» означает «забыть логику и порядок этой процедуры, breka, что бы эта программа не выполняла, и запустить эту строку кода СЕЙЧАС». –
Выполнение не идет/прыгает в другую сторону, когда вы пишете лямбда. Вы просто определяете встроенную функцию, которая будет вызываться (и заканчивается) и указанная точка. _'Goes to'_ - это всего лишь один из способов __pronounicing__ оператора '=> 'но что это означает, что это действительно просто своего рода __assignment__! – TaW
« идет к »?! Я никогда не коррелировал лямбда с« идет ». Это просто странно для меня. – itsme86