воскресенье, 24 июня 2012 г.

C# Типы данных

Типы данных схожи почти во всех языках программирования.
Перечислю все возможные в C#:


Тип
bool
Логический, или булев, представляет значения ИСТИНА/ЛОЖЬ
byte
8-разрядный целочисленный без знака
char
Символьный
double
C плавающей точкой двойной точности
float
С плавающей точкой
int
Целочисленный
long
Тип для представления длинного целого числа
short
Тип для представления короткого целого числа
uint
Целочисленный без знака
ulong
Тип для представления длинного целого числа без знака
ushort
Тип для представления короткого целого числа без знака
decimal
Числовой тип для финансовых вычислений
string
Строка

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

Если нужно обрабатывать величины, диапазон которых превышает диапазон, допустимый для типа int, у вас есть несколько возможных вариантов для выбора. Если вы не предполагаете обрабатывать отрицательные числа, можно воспользоваться типом uint (в этом случае диапазон представления чисел увеличится вдвое). 

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

        private void button1_Click(object sender, EventArgs e)
        {
            // Вычисляем расстояние от Земли до Солнца в дюймах.     
            long inches;
            long miles;     
            miles = 93000000; // 93 000 000 миль до Солнца     
            //5280 футов в миле, 12 дюймов в футе     
            inches = miles*5280* 12;     
            textBox1.Text = ("Расстояние от Земли до Солнца: " +
            inches + " дюймов.");

        }

Вот как выглядит результат выполнения этой программы:


Ясно, что полученный результат невозможно было бы сохранить в переменной типа int или uint, так как диапазон был бы превышен для этих типов данных. 

Самый маленький диапазон представления имеют целочисленные типы byte и sbyte. Тип byte предназначен для хранения чисел без знака от 0 до 255. Переменные типа byte особенно полезны для обработки двоичных данных, например, полученных в результате опроса некоторого датчика. Для небольших целых чисел со знаком используется тип sbyte. Приведем пример применения типа byte для управления циклом for, который вычисляет сумму чисел от 1 до 100.

        private void button1_Click(object sender, EventArgs e)
        {
            byte x;
            int sum;
            sum = 0;
            for (x = 1; x <= 100; x++)
                sum = sum + x;
            
            textBox1.Text = ("Сумма чисел от 1 до 100 равна "
            + sum);

        }
Результат работы этой программы выглядит так:


Типы с плавающей точкой могут представлять числа с дробными компонентами. Таких типов только два: float и double. Для значений типа float используется 32 бита, которые позволяют представить числа в диапазоне от 1,5Е—45 до 3,4Е+38. Для значений же типа double (т.е. удвоенной точности) используется 64 бита, позволяющие представить числа в диапазоне от 5Е-324 до 1,7Е+308.
Из этих двух типов с плавающей точкой гораздо большей популярностью у программистов пользуется тип double. Одной из основных причин этого является использование double-значений множеством математических функций библиотеки классов C# (библиотека .NET Framework). Например, метод Sqrt(), который определен в стандартном классе System.Math, возвращает double-значение, являющееся квадратным корнем из double-аргумента. В следующей программе метод Sqrt() используется для вычисления радиуса круга, исходя из его площади.

private void button1_Click(object sender, EventArgs e)
        {
            // Находим радиус круга по его площади.
            double r;
            double area;
            area = 10.0;
            r = Math.Sqrt(area / 3.1416);
            textBox1.Text = ("Радиус равен " + r);

        }
Результат работы программы:


В этой программе стоит обратить ваше внимание на то, как вызывается метод Sqrt(): его имени предшествует имя Math. И здесь нет ничего удивительного, ведь, как уже упоминалось выше, метод Sqrt()— член класса Math. (Точно также при вызове метода WriteLine() его имени предшествовало имя класса Console.) Однако необходимо отметить, что не все стандартные методы вызываются посредством первоначального указания имени их “родного” класса.

Тип bool представляет значения ИСТИНА/ЛОЖЬ, которые в C# определяются зарезервированными словами true и false. Таким образом, переменная или выражение типа bool будет иметь одно из этих двух значений. В C# не определено ни одно преобразование значения типа bool в целочисленное значение. Например, число 1 не преобразуется в значение true, а число 0 — в значение false.
Рассмотрим использование типа bool на примере следующей программы:

private void Form1_Load(object sender, EventArgs e)
        {
            bool b;
            b = false;
            label1.Text = ("b содержит " + b);
            b = true;
            label2.Text = ("b содержит " + b);
            // Значение типа bool может управлять if-инструкцией.
            if (b) label3.Text = ("Эта инструкция выполняется.");
            b = false;
            if (b) label4.Text = (
                      "Эта инструкция не выполняется.");
            // Оператор отношения возвращает результат типа bool.
            label5.Text = ("10 > 9 равно " + (10 > 9));
        }
Так выглядит результат:


Пример кода работы со строками:

private void Form1_Load(object sender, EventArgs e)
        {
            string str = "Первая строка \n";
            string str2 = "Вторая строка";
            label1.Text = str + str2;
        }
В результате получаем:
В данном примере использовался управляющий символ \n, который делает перенос строки. Подробнее об управляющих символах тут.

0 коммент.:

Отправить комментарий

TROCKII БЛОГ Copyright © 2012 | Template created by Lev Trockii |