Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 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# выражение можно использовать везде, где требуется значение или объект, если результат вычисления выражения соответствует требуемому типу.






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных