ТОР 5 статей: Методические подходы к анализу финансового состояния предприятия Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века Характеристика шлифовальных кругов и ее маркировка Служебные части речи. Предлог. Союз. Частицы КАТЕГОРИИ:
|
Приоритет и ассоциативность операторов
Способ вычисления выражения управляется правилами ассоциативности и приоритетом операторов. Дополнительные сведения см. в разделе Операторы (руководство по программированию на C#). Большинство выражений, за исключением выражений назначения и выражений вызова метода, должны быть встроены в оператор. Дополнительные сведения см. в разделе Операторы (руководство по программированию в C#).
Литералы и простые имена
Двумя наиболее простыми типами выражений являются литералы и простые имена. Литерал представляет собой постоянное значение, у которого нет имени. Например, в следующем примере 5 и "Hello World" являются литералами.
// Expression statements. int i = 5; string s = "Hello World";
В предыдущем примере i и s являются простыми именами, которые определяют локальные переменные. При использовании таких переменных в выражениях результатом вычисления имени переменной является значение, которое в данное время хранится в расположении переменой в памяти. Это показано в следующем примере:
int num = 5; System.Console.WriteLine(num); // Output: 5 num = 6; System.Console.WriteLine(num); // Output: 6
Выражения вызова
В следующем примере кода вызов метода DoWork является выражением вызова.
DoWork();
При вызове метода необходимо указать имя метода в явном виде, как было показано в предыдущем примере, или в виде результата другого выражения, после чего в скобках указываются все параметры этого метода. При вызове делегата указывается имя делегата и параметры метода в скобках. Результатом вызова метода или делегата является возвращаемое методом значение, если метод вообще возвращает значение. В качестве значений в выражениях нельзя использовать методы, возвращающие значение типа void.
Выражения запроса
Аналогичные правила в общем случае относятся и к выражениям запроса.
Лямбда-выражения
Лямбда-выражения представляют собой "встроенные методы", у которых нет имен, но которые могут иметь входные параметры и несколько инструкций. Они активно используются в LINQ для передачи параметров методам. Лямбда-выражения компилируются в делегаты или в деревья выражений в зависимости от условий, при которых они используются.
Деревья выражений
Деревья выражения позволяют представлять выражения в виде структур данных. Они активно используются поставщиками LINQ для преобразования выражений запросов в код, имеющий смысл в других контекстах, например в базах данных SQL.
Заметки
Если в выражении присутствует переменная, свойство объекта или индексатор объекта, для вычисления выражения используется значение этого элемента. В C# выражение можно использовать везде, где требуется значение или объект, если результат вычисления выражения соответствует требуемому типу. Не нашли, что искали? Воспользуйтесь поиском:
|