Что делает “=>” средний?

Имена столбцов могут содержать символы и зарезервированные слова, которые перепутают механизм выполнения запросов, таким образом помещать скобки вокруг них в любом случае предотвращает это. Легче, чем проверка проблему и затем контакт с нею, я предполагаю.

13
задан Laurel 29 August 2016 в 21:32
поделиться

7 ответов

В C # лямбда-оператор записывается «=>» (обычно произносится как « идет к » при чтении вслух). Это означает, что аргументы слева передаются в блок кода (лямбда-функция / анонимный делегат) справа.

Итак, если у вас есть Func или Action (или любой из их собратьев с большим количеством параметров типа), вы можете назначить им лямбда-выражение, вместо того, чтобы создавать экземпляр делегата или иметь отдельный метод для отложенной обработки:

//creates a Func that can be called later
Func<int,bool> f = i => i <= 10;
//calls the function with 12 substituted as the parameter
bool ret = f(12);
13
ответ дан 1 December 2019 в 19:23
поделиться

Поскольку никто еще не упомянул об этом, в VB.NET вы должны использовать ключевое слово function вместо =>, например:

dim func = function() true
'or
dim func1 = function(x, y) x + y

dim result = func() ' result is True
dim result1 = func1(5, 2) ' result is 7
8
ответ дан 1 December 2019 в 19:23
поделиться

Это сокращение для объявления лямбда .

i => i++

(в некотором роде) то же самое, что и запись:

delegate(int i)
{
    i++;
}

В контексте:

void DoSomething(Action<int> doSomething)
{
    doSomething(1);
}

DoSomething(delegate(int i) { i++; });
//declares an anonymous method
//and passes it to DoSomething

, который является (вроде) то же самое, что и запись:

void increment(int i)
{
    i++;
}

Просто без указания имени, он позволяет вам объявлять встроенную функцию, известную как "анонимная"

7
ответ дан 1 December 2019 в 19:23
поделиться

Когда произносится вслух, оператор является лямбда-оператором ( переходит в ), который помогает определить анонимного делегата, который вы определяете в лямбде.

Обычно это можно увидеть с помощью обработчика событий. У вас часто будет событие типа загрузки страницы, которое обрабатывается лямбда-выражением со следующим кодом:

this.Loaded += (o, e) => { 

// code

}

Вы определили метод, обрабатывающий событие Loaded анонимно (у него нет имени) с помощью лямбда-выражения. Это будет читаться как "o, e идет к ... определению метода с помощью foo."

3
ответ дан 1 December 2019 в 19:23
поделиться

Это «лямбда-оператор», и вы прочтите это как «идет к». Допустим, у вас есть утверждение:

doSomething(x => x + " hi");

Вы можете заменить «=>» в уме следующим:

doSomething(delegate (string x) { return x + " hi" });

Как видите, это отличное сокращение. Компилятор определяет тип передаваемой переменной и позволяет избавиться от сигнатуры функции и скобок для кода, в который вы передаете переменные сигнатуры.

3
ответ дан 1 December 2019 в 19:23
поделиться

Это лямбда-оператор, часть лямбда-выражения .

Все лямбда-выражения используют лямбда оператор =>, который читается как "идет к ". Левая часть лямбды оператор определяет ввод параметры (если есть) и правая сторона содержит выражение или утверждение блок. Лямбда-выражение x => x * x читается как «x переходит в x, умноженное на x».

1
ответ дан 1 December 2019 в 19:23
поделиться

Это синтаксис для объявления анонимной функции, известной в C # как «лямбда-выражение».

Например, (int p) => p * 2 представляет функция, которая принимает целое число и умножает его на два.

1
ответ дан 1 December 2019 в 19:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: