Проблемы производительности


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

В таких ситуациях рекомендуется передавать ссылку на тип, используя ключевое слово ref. Метод имеет возможность изменить содержимое переменной, что не всегда может быть безопасным. Программист должен находить компромиссное соотношение между безопасностью и производительностью.

int AddTen(int number) // параметр передается по значению { return number + 10; }  
void AddTen(ref int number) // параметр передается по ссылке { number += 10; }  

Ключевое слово out имеет сходство с ключевым словом ref, но оно указывает компилятору, что метод должен присвоить значение параметру, иначе возникнет ошибка компиляции.

void SetToTen(out int number) { // Если такая строка отсутствует, код не будет компилироваться. number = 10; }

Operators

In C#, operators have similar syntax to other C-style programming languages. Operators are used to do calculations, assign values to variables, test for equality or inequality, and perform other operations.

The following sections list some of the most commonly used operators in C#.

Assignment and Equality Operators

In C#, the equals sign (=) operator has the same functionality as in C and C++:

Operator Purpose
= Assigns a value.
== Tests for equality.

Example

int x = 100; if (x == 100) { System.Console.WriteLine("X is equal to 100"); }

Операторы

Синтаксис операторов в C# сходен с синтаксисом других языков программирования в стиле языка C. Операторы используются для выполнения вычислений, назначения значений, проверки на равенство и неравенство и т. д.

В следующих разделах представлен список наиболее часто используемых операторов в C#.

Операторы равенства и назначения

В C# оператор знака равенства (=) имеет ту же функциональность, что и в C и C++.

Оператор Назначение
= Присваивание значения.
== Проверка на равенство.

Пример

int x = 100;if (x == 100){ System.Console.WriteLine("X is equal to 100");}


Mathematical and Logical Operators

The following is a list of the basic mathematical operators, listed in order of precedence. Use parentheses to force other ordering.

Operator Purpose
*, /, % Multiplication, Division, Modulus
+, - Addition , Subtraction
& Logical AND
^ Logical XOR
| Logical OR

Example

int x = 1; int y = x + 10 * 100; // multiplication first y = 1001 int z = (x + 10) * 100; // addition first z = 1100



Дата добавления: 2022-05-27; просмотров: 130;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.007 сек.