Разделы презентаций


Структуры в C

Содержание

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

Слайды и текст этой презентации

Слайд 1Строки в C#

Строки в C#

Слайд 2Строки
Строка является объектом типа String, значением которого является текст. Текст

хранится в виде последовательной доступной только для чтения набора объектов

Char. В конце строки на языке C# отсутствует символ, заканчивающийся на NULL; поэтому строка C# может содержать любое число внедренных символов NULL ("\0"). Свойство Length строки представляет число объектов Char, содержащихся в этой строке, а не число символов Юникода.
В C# ключевое слово string является псевдонимом свойства String. Поэтому String и string эквивалентны

СтрокиСтрока является объектом типа String, значением которого является текст. Текст хранится в виде последовательной доступной только для

Слайд 3Строки
Объявление и инициализацию строк можно выполнять различными способами:

string message1;
string str

= "Пример строки";
char[] letters = { 'A', 'B', 'C' };
string

alphabet = new string(letters); 
СтрокиОбъявление и инициализацию строк можно выполнять различными способами:string message1;string str =

Слайд 4Строки
Над строками определены следующие операции:
присваивание (=);
конкатенация (объединение) или сцепление строк

(+);
две операции проверки эквивалентности: равно (= =) и не равно

(!=);
взятие индекса ([]).
СтрокиНад строками определены следующие операции:присваивание (=);конкатенация (объединение) или сцепление строк (+);две операции проверки эквивалентности: равно (= =)

Слайд 5Строки
Переприсваивание
Строки можно целиком переприсваивать:
string s1 = "Hello";
string s2 = s1;

СтрокиПереприсваиваниеСтроки можно целиком переприсваивать:string s1 =

Слайд 6Строки
Объединение строк
Можно объединять строки с помощью оператора +:
string s1 =

"orange";
string s2 = "red";
s1 += s2;Console.WriteLine(s1); // напечатается "orangered"
Строковые

объекты являются неизменяемыми: после создания их нельзя изменить. Все методы String и операторы C#, которые, как можно было бы представить, изменяют строку, в действительности возвращают результаты в новый строковый объект.
.
СтрокиОбъединение строкМожно объединять строки с помощью оператора +:string s1 =

Слайд 7Строки
Постоянство строк
Строковые объекты являются неизменяемыми: после создания их нельзя изменить.

Все методы String и операторы C#, которые, как можно было

бы представить, изменяют строку, в действительности возвращают результаты в новый строковый объект.
В примере, когда содержимое строк s1 и s2 объединяется в одну строку, две исходные строки не изменяются. Оператор += создает новую строку с объединенным содержимым. Этот новый объект присваивается переменной s1, а исходный объект, который был присвоен строке s1, освобождается для сборки мусора, поскольку ни одна переменная не содержит ссылку на него.


СтрокиПостоянство строкСтроковые объекты являются неизменяемыми: после создания их нельзя изменить. Все методы String и операторы C#, которые,

Слайд 8Строки
Сравнения
Самый простой способ сравнения двух строк — использовать операторы ==

и !=, осуществляющие сравнение с учетом регистра:
string color1 = "red";
string

color2 = "green";
string color3 = "red";
if (color1 == color3) Console.WriteLine("Строки равны");
if (color1 != color2) Console.WriteLine("Строки не равны");
Не допускается использование >,<,>=,<= для сравнения строк. Для строковых объектов существует метод CompareTo(), возвращающий целочисленное значение, зависящее от того, что одна строка может быть меньше (<), равна (==) или больше другой (>). При сравнении строк используется значение Юникода, при этом значение строчных букв меньше, чем значение заглавных.

Слайд 9Строки
Доступ к отдельным знакам
Квадратные скобки [] служат для доступа к

отдельным знакам в объекте string, но при этом возможен доступ

только для чтения:

string str = "test";
char x = str[2]; // x = 's';

СтрокиДоступ к отдельным знакамКвадратные скобки [] служат для доступа к отдельным знакам в объекте string, но при

Слайд 10Строки
В C# существуют два вида строковых констант:
обычные константы, которые представляют

строку символов, заключённую в кавычки;
@-константы, заданные обычной константой c предшествующим

знаком @.

СтрокиВ C# существуют два вида строковых констант:обычные константы, которые представляют строку символов, заключённую в кавычки;@-константы, заданные обычной

Слайд 11Строки
Обычные константы

В обычных константах некоторые символы интерпретируются особым образом. Связано

это, прежде всего, с тем, что необходимо уметь задавать в

строке непечатаемые символы, такие, как, например, символ табуляции. Возникает необходимость задавать символы их кодом – в виде escape-последовательностей. Для всех этих целей используется комбинация символов, начинающаяся символом "\" - обратная косая черта. Это так называемые Escape-последовательности
СтрокиОбычные константыВ обычных константах некоторые символы интерпретируются особым образом. Связано это, прежде всего, с тем, что необходимо

Слайд 12Строки
При этом возникают неудобства: например, при задании констант, определяющих путь

к файлу, приходится каждый раз удваивать символ обратной косой черты.
string

path2 = "C:\\Users\\Mikant\\Documents";
СтрокиПри этом возникают неудобства: например, при задании констант, определяющих путь к файлу, приходится каждый раз удваивать символ

Слайд 13Строки
@-константы
В @-константах все символы трактуются в полном соответствии с их

изображением. Поэтому путь к файлу лучше задавать @-константой. Единственная проблема

в таких случаях: как задать символ кавычки, чтобы он не воспринимался как конец самой константы. Решением является удвоение символа.
string path1 = @"C:\Users\Mikant\Documents";


Строки@-константыВ @-константах все символы трактуются в полном соответствии с их изображением. Поэтому путь к файлу лучше задавать

Слайд 14Строки

Строки

Слайд 15Строки

Строки

Слайд 16Строки
string s6 = «РГппУ";
Console.WriteLine(s6.ToUpper()); // Напечатается РГППУ

string s3 = "Visual

C# Express";
string s5 = s3.Replace("C#", "Basic");
Сonsole.WriteLine(s5);// напечатается "Visual Basic Express”

string

s3 = "Visual C# Express";
string s4 = s3.Substring(7, 2);
Console.WriteLine(s4);// напечатается "C#"



Строкиstring s6 = «РГппУ

Слайд 17Строки
Преобразование строк в другие типы
С помощью объекта Convert:
N = Convert.ToInt32(s1);
M

= Convert.ToDouble(s2);
F = Convert.ToBoolean(s3);
B = Convert.ToByte(s4);
C = Convert.ToChar(k);
s5= Convert.ToString(x);

СтрокиПреобразование строк в другие типыС помощью объекта Convert:N = Convert.ToInt32(s1);M = Convert.ToDouble(s2);F = Convert.ToBoolean(s3);B = Convert.ToByte(s4);C =

Слайд 18Структуры

Структуры

Слайд 19Структуры
Структуры являются фундаментальными типами данных в C# и большинстве других

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

от структур в любом другом языке.
Структура - это набор зависимых друг от друга переменных. Зависимость здесь исключительно логическая и определяется условиями задачи.
Структура относится к типу значения, а не к ссылочному типу данных.
СтруктурыСтруктуры являются фундаментальными типами данных в C# и большинстве других современных языках программирования. Структуры в C# практически

Слайд 20Описание структуры:
struct имя_структуры
{
public тип поле1;
public тип

поле2;
. . .
}
Структуры

Описание структуры:struct имя_структуры{  public тип поле1;  public тип поле2;. . .}Структуры

Слайд 21Пример:
struct student
{
public string fio;
public

string FormOfEducation;
public int course;
public string faculty;


}

Структуры

Пример:struct student {  public string fio;  public string FormOfEducation;  public int course;  public

Слайд 22static void Main(string[] args)
{
student stud;

stud.fio = «Иванов Егор Петрович";
stud.FormOfEducation = "очного";

stud.course = 3;
stud.faculty = "электроэнергетического";
Console.WriteLine("СПРАВКА подтверждает, что "+stud.fio +
" является студентом "+stud.FormOfEducation+
" отделения ВоГТУ " +stud.course+" курса "+stud.faculty+
" факультета");
Console.Read();
}

Структуры

static void Main(string[] args) {   student stud;  stud.fio = «Иванов Егор Петрович

Слайд 23 student[]
Сортировка по возрастанию:
Массив.OrderBy(x=>x.поле)
stud.OrderBy(x=>x.fio);

Сортировка по убыванию:
Массив.OrderByDescending (x=>x.поле)
stud.OrderBy Descending (x=>x.cours)
Структуры

student[] Сортировка по возрастанию:Массив.OrderBy(x=>x.поле)stud.OrderBy(x=>x.fio);Сортировка по убыванию:Массив.OrderByDescending (x=>x.поле)stud.OrderBy Descending (x=>x.cours)Структуры

Слайд 24Исключения
В языке C# ошибки в программе во время выполнения передаются

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

встречает ошибку и перехватываются кодом, который может исправить ее. Исключения могут создаваться средой CLR платформы .NET Framework или кодом в программе.
ИсключенияВ языке C# ошибки в программе во время выполнения передаются через программу посредством механизма, называемого исключениями. Исключения

Слайд 25Этапы исключений:

Генерация исключения

Обработка исключения
Исключения

Этапы исключений:Генерация исключенияОбработка исключенияИсключения

Слайд 26Схема обработки исключений в C#:
try {... }

catch (T1 e1) {...} ...

catch(Tk ek) {...} finally {...}
Всюду в тексте модуля, где синтаксически допускается использование блока, этот блок можно сделать охраняемым, добавив ключевое слово try. Вслед за try-блоком могут следовать catch-блоки, называемые блоками- обработчиками исключительных ситуаций, их может быть несколько, они могут и отсутствовать. Завершает эту последовательность finally-блок - блок завершения (финализации), который также может отсутствовать.

Исключения

Схема обработки исключений в C#:try {... }     catch (T1 e1) {...}

Слайд 27Свойства исключений:
Исключения имеют типы, в конечном счете являющиеся производными от

System.Exception.
Следует использовать блок try для заключения в него инструкций,

которые могут выдать исключения.
При возникновении исключения в блоке try поток управления немедленно переходит к первому соответствующему обработчику исключений, присутствующему в стеке вызовов. В языке C# ключевое слово catch используется для определения обработчика исключений.
Если обработчик для определенного исключения не существует, выполнение программы завершается с сообщением об ошибке.
Не перехватывайте исключение, если его нельзя обработать, и оставьте приложение в известном состоянии. При перехвате System.Exception вновь инициируйте это исключение с использованием ключевого слова throw в конце блока catch.
Исключения могут явно генерироваться программной с помощью ключевого слова throw.
Код в блоке finally выполняется, даже при возникновении исключения. Блок finally используется для освобождения ресурсов, например для закрытия потоков или файлов, открытых в блоке try.

Исключения

Свойства исключений:Исключения имеют типы, в конечном счете являющиеся производными от System.Exception. Следует использовать блок try для заключения

Слайд 28Блок try используется программистами C# для разбиения на разделы кода,

который может затрагиваться исключением.
Блок catch может указывать тип перехватываемого исключения.

Спецификация типа называется фильтр исключений. Несколько блоков catch с различными фильтрами исключений могут быть соединены друг с другом. Блоки catch проверяются сверху вниз в коде, однако для каждого вызванного исключения выполняется только один блок catch.
Блок finally позволяет удалить действия, выполненные в блоке try. При наличии блока finally он выполняется последним, после блока try и всех выполняемых блоков catch. Блок finally выполняется всегда, вне зависимости от возникновения исключения или обнаружения блока catch, соответствующего типу исключения.

Исключения

Блок try используется программистами C# для разбиения на разделы кода, который может затрагиваться исключением.Блок catch может указывать

Слайд 29В стандарте языка C# конструкция try/catch/finally называются try оператором. Определены

три формы оператора try:
Блок контроля, за которым следуют catch-обработчики (один

или несколько)
Блок контроля, за которым следует блок завершения (finally-блок)
Блок контроля, за которым следуют catch-обработчики (один или несколько), размещен блок завершения (finally-блок)

Исключения

В стандарте языка C# конструкция try/catch/finally называются try оператором. Определены три формы оператора try:Блок контроля, за которым

Слайд 30Имеется три формы catch-инструкции:

сatch (тип_исключения имя) {операторы}
сatch (тип_исключения) {операторы}
сatch {операторы}

Для

выполнения перехвата исключений вне зависимости от их типа (перехват всех

исключений) используется оператор catch без параметров.

Исключения

Имеется три формы catch-инструкции:сatch (тип_исключения имя) {операторы}сatch (тип_исключения) {операторы}сatch {операторы}Для выполнения перехвата исключений вне зависимости от их

Слайд 31 private void button1_Click(object sender, EventArgs e)

{ try
{ stud[i].fio =

textBox1.Text;
stud[i].dat = dateTimePicker1.Value;
if (radioButton1.Checked) stud[i].pol = 'ж';
else stud[i].pol = 'м';
stud[i].ves = Convert.ToInt32(numericUpDown1.Value);
stud[i].ekat = checkBox1.Checked;
stud[i].rost = Convert.ToDouble(textBox2.Text);
i++;
}
catch
{ MessageBox.Show("Ошибка");}

}

Исключения

private void button1_Click(object sender, EventArgs e)    { try

Слайд 32Исключения

Исключения

Слайд 33 private void button1_Click(object sender, EventArgs e)

{
try

{ stud[i].fio = textBox1.Text;
stud[i].dat = dateTimePicker1.Value;
if (radioButton1.Checked) stud[i].pol = 'ж';
else stud[i].pol = 'м';
stud[i].ves = Convert.ToInt32(numericUpDown1.Value);
stud[i].ekat = checkBox1.Checked;
stud[i].rost = Convert.ToDouble(textBox2.Text);
i++; }
catch (System.FormatException)
{ MessageBox.Show("Ввод не числа"); }
catch (System.IndexOutOfRangeException)
{ MessageBox.Show("Выход за пределы массива"); }
finally
{ textBox1.Text="";
textBox2.Text="";
textBox1.Focus();}
}

Исключения

private void button1_Click(object sender, EventArgs e)    {      try

Слайд 34Контролируемый ввод
private void textBox2_KeyPress(object sender, KeyPressEventArgs e)

{ bool zpt=false;
if

(char.IsDigit(e.KeyChar) == true) return;
if (e.KeyChar == (char)Keys.Back) return;
if (textBox2.Text.IndexOf(',') != -1)
zpt = true;
if (zpt == true) { e.Handled = true; return; }
if (e.KeyChar == ',') return;
e.Handled = true;
}

Контролируемый ввод private void textBox2_KeyPress(object sender, KeyPressEventArgs e)    { bool zpt=false;

Слайд 35Контролируемый ввод

Контролируемый ввод

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

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика