Студопедия  
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Концепция типа данных. Символьные типы данных.

Читайте также:
  1. V1: Современная концепция менеджмента качества
  2. V2: Концепция маркетинга и ее роль в рыночной экономике.
  3. VI. ФИЛОСОФСКАЯ КОНЦЕПЦИЯ ПАМФИЛА ЮРКЕВИЧА
  4. А) Христианская концепция истории
  5. Алфавит, базовые типы и описание данных.
  6. Арифметические, логические, символьные выражения
  7. Б) полезные знания, полученные посредством анализа данных.
  8. БИЛЕТ№40-Концепция вида, его критерии.
  9. В. Концепция
  10. Виды эксперимента. Квазиэкспериментальные исследования. Причины искажения экспериментальных данных.

Концепция типов данных состоит в том, что каждой информации приписывается тип, который описывается:

1) множеством допустимых значений типа,

2) набором операций для этого типа,

3) диапазоном допустимых значений,

4) количеством памяти, необходимой для хранения данного типа.

В С# символы представляются 16-разрядными величинами. Для представления символов в С# используется Unicode (уникод), 16-разрядный стандарт кодирования символов, позволяющий представлять алфавиты всех существующих в мире языков. Таким образом, в С# char — это 16-разрядный тип без знака, который позволяет представлять значения в диапазоне 0—65 535. Символьной переменной можно присвоить значение, заключив соответствующий символ в одинарные кавычки. Например, чтобы присвоить значение буквы X переменной ch, нужно выполнить следующие инструкции:

char ch; ch = 'X'; или char ch = new Char();

Хотя тип char определяется в С# как целочисленный, его нельзя свободно смешивать с целыми числами во всех случаях без разбору. Явные или неявные преобразования между классами char и string отсутствуют, но, благодаря методу ToString, переменные типа char стандартным образом преобразуются в тип string. Существуют неявные преобразования типа char в целочисленные типы, начиная с типа ushort. Обратные преобразования целочисленных типов в тип char также существуют, но они уже явные.

Класс Char, как и все классы в C#, наследует свойства и методы родительского класса Object. Но у него есть и собственные методы и свойства, и их немало. Сводка этих методов приведена в таблице.

Таблица 13.1. Статические методы и свойства класса Char
Метод Описание
GetNumericValue Возвращает численное значение символа, если он является цифрой, и (-1) в противном случае
GetUnicodeCategory Все символы разделены на категории. Метод возвращает Unicode категорию символа. Ниже приведен пример
IsControl Возвращает true, если символ является управляющим
IsDigit Возвращает true, если символ является десятичной цифрой
IsLetter Возвращает true, если символ является буквой
IsLetterOrDigit Возвращает true, если символ является буквой или цифрой
IsLower Возвращает true, если символ задан в нижнем регистре
IsNumber Возвращает true, если символ является числом (десятичной или шестнадцатиричной цифрой)
IsPunctuation Возвращает true, если символ является знаком препинания
IsSeparator Возвращает true, если символ является разделителем
IsSurrogate Некоторые символы Unicode с кодом в интервале [0x10000, 0x10FFF] представляются двумя 16-битными "суррогатными" символами. Метод возвращает true, если символ является суррогатным
IsUpper Возвращает true, если символ задан в верхнем регистре
IsWhiteSpace Возвращает true, если символ является "белым пробелом". К белым пробелам, помимо пробела, относятся и другие символы, например, символ конца строки и символ перевода каретки
Parse Преобразует строку в символ. Естественно, строка должна состоять из одного символа, иначе возникнет ошибка
ToLower Приводит символ к нижнему регистру
ToUpper Приводит символ к верхнему регистру
MaxValue, MinValue Свойства, возвращающие символы с максимальным и минимальным кодом. Возвращаемые символы не имеют видимого образа

Свойства, возвращающие символы с максимальным и минимальным кодом. Возвращаемые символы не имеют видимого образа

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

 

5. Концепция типа данных. Составные типы данных. Массивы и их реализация в С#. Структуры.

Концепция типов данных состоит в том, что каждой информации приписывается тип, который описывается:

1) множеством допустимых значений типа,

2) набором операций для этого типа,

3) диапазоном допустимых значений,

4) количеством памяти, необходимой для хранения данного типа.

Массив (array) — это коллекция переменных одинакового типа, обращение к которым происходит с использованием общего для всех имени. В С# массивы могут быть одномерными или многомерными. Массивы представляют собой удобное средство группирования связанных переменных. Например, массив можно использовать для хранения значений максимальных дневных температур за месяц, списка цен на акции или названий книг по программированию из домашней библиотеки.

Массив организует данные таким способом, который позволяет легко ими манипулировать. Кроме того, организация данных в форме массива позволяет легко их сортировать в нужном направлении. С#-массивы реализованы как объекты. Реализация массивов в виде объектов позволила получить ряд преимуществ, причем одно из них состоит в том, что неиспользуемые массивы могут автоматически утилизироваться системой сбора мусора.

Одномерный массив — это список связанных переменных. Для объявления одномерного массива используется следующая форма записи.

тип[] имя__массива = new тип [размер];

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

Рассмотрим пример: int [ ] sample = new int [10];

Доступ к отдельному элементу массива осуществляется посредством индекса. Индекс описывает позицию элемента внутри массива. В С# первый элемент массива имеет нулевой индекс. Многомерным называется такой массив, который характеризуется двумя или более измерениями, а доступ к отдельному элементу осуществляется посредством двух или более индексов. Вот как объявляется многомерный массив:

ТИП [,.., ] имя = new тип [размер1,..., размерN];

Например, с помощью следующего объявления создается трехмерный целочисленный массив размером 4x10x3: int [,,] multidim = new int [ 4, 10, 3];

Чтобы присвоить число 100 элементу массива multidim, занимающему позицию с координатами 2,4,1, используйте такую инструкцию: multidim [2, 4, 1] = 100;.

Однако С# позволяет создавать двумерный массив специального типа, именуемый рваным, или с рваными краями. У такого массива строки могут иметь различную длину. Следовательно, рваный массив можно использовать для создания таблицы со строками разной длины. Рваные массивы объявляются с помощью наборов квадратных скобок, обозначающих размерности массива. Например, чтобы объявить двумерный рваный массив, используется следующий формат записи: ТИП [] [] имя = new тип [размер][];

Здесь элемент размер означает количество строк в массиве. Для самих строк память выделяется индивидуально, что позволяет строкам иметь разную длину. Например, следующий фрагмент программы при объявлении массива jagged выделяет память для его первой размерности, а память для его второй размерности выделяется "вручную".

int [ ] [ ] jagged = new int [ 3 ] [ ];

jagged [0] = new int [ 4 ]; jagged[1] = new int [ 3 ]; jagged[2] = new int [ 5 ];

Доступ к элементу осуществляется посредством задания индекса внутри собственного набора квадратных скобок. Например, чтобы присвоить число 10 элементу массива jagged с координатами 2 и 1, используйте такую инструкцию: jagged[2][1] = 10;




Дата добавления: 2014-12-18; просмотров: 39 | Поможем написать вашу работу | Нарушение авторских прав




lektsii.net - Лекции.Нет - 2014-2024 год. (0.007 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав