лямбда обозначенияЛямбда обозначения и логические сравнения
x => x.MyProperty
легко спутать, некоторые люди, с больше или равно. Т.е.
if (x => y) ...
вопрос: компилятор когда-либо путает их? То есть, если один принять конвенцию в результате чего больше или равно всегда кодируется как:
if (x >= y) ...
Я предполагаю, что компилятор может различать два на основе контекста, но что было бы «лучшей практики»?
вопрос о SO
ASP.NET MVC2 Checkboxes in a table
рода показали, что легко получить это неправильно.
EDIT:
В свете крошечного шторма, который заваривается над этим, следующее может прояснить.
Я задал вопрос, потому что я ответил на вопрос, когда парень ошибся в лямбда-нотации. Я указал на его опечатку, и он принял мой ответ. Существует ссылка на вопрос выше.
Вопрос тогда меня обманул. Я всегда использовал> = по какой-то очень веской причине, но был убежден, что видел код, который использовал другую нотацию. Иногда у вас есть предположения, что вы не думаете о допросе. Это может быть из моих дней VBA или нет, но убеждение остается в том, что я видел код, который компилируется, запускается и использует => для большего, чем сравнение. Быть по сему. Приношу свои извинения за то, что я не стрелял в VS, но я весь день работал с Sitefinity в офисе без установки VS. Никакого оправдания, я вам даю.
Но обратите внимание, что лямбда-выражения в C# являются только старыми, как ... .NET 2? или это был .NET 3.5. Учитывая, что я использовал C# с версии с версии 1.0, вопрос неправильный, но не тот абсурд.
Я также считаю, что жесткие правила SO велики в том, что они производят нетронутый Q & A. Но существуют разные способы применения правил. Я только с самого начала использую SO всерьез с середины сентября, поэтому считаю, что лучше всего выстрелить в предупреждающий выстрел по плохим вопросам, а не подергивать колпачок при первой возможности. Это то, что SO поощряет: оставить комментарий, а не просто вызвать счастливую маркировку. Вы даете ответчику возможность реализовать свою ошибку и удалить бессмысленный вопрос из системы. Потому что, как только ответы и голоса наводняются, вопрос не может быть удален апеллятором.
Конец напева.
Интересный вопрос, хотя на практике я никогда не видел, чтобы кто-либо пытался использовать => в качестве оператора сравнения. Кроме того, в соответствии с условностями каждая книга, которую я имею в программировании, представляет логический оператор сравнения GREATER THAN как '> =' –
Почему люди путают этот вопрос? Хорошее горе ... У ОП есть разумная точка зрения о человеческом замешательстве. И ошибиться в том, что действительно синтаксис C# не делает вопрос плохой ИМО. Это возможность учиться. – LarsH
@LarsH: Потому что вопрос не имеет смысла. => не может использоваться для сравнения равенства, он не будет компилироваться. Кроме того, предполагая, что компилятор смущает эти два, это немного абсурдная ИМО. – BFree