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


Введение в C#

Содержание

План занятияОтличие C# от С++Типы данныхБазовые выражения и операторыПрограмма Hello, C# worldКонсольное приложениеWindows приложениеИсключенияКурс SE MSF.NETВведение в C#

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

Слайд 1Введение в C#

Введение в C#

Слайд 2 План занятия
Отличие C# от С++
Типы данных
Базовые выражения и

операторы
Программа Hello, C# world
Консольное приложение
Windows приложение
Исключения


Курс SE MSF.NET
Введение в C#

План занятияОтличие C# от С++Типы данныхБазовые выражения и операторыПрограмма Hello, C# worldКонсольное приложениеWindows приложениеИсключенияКурс SE

Слайд 3Новый язык от Microsoft, Intel, HP


Язык на котором написана платформа

.NET Framework

Результат эволюции языков программирования

С# - “на пол тона выше”

С++



А впрочем, можете программировать на Java ☺

Курс SE MSF.NET

Введение в C#

Новый язык от Microsoft, Intel, HPЯзык на котором написана платформа .NET FrameworkРезультат эволюции языков программированияС# - “на

Слайд 4Некоторые отличия C# от C++
В С# отсутствует множественное наследование

(компенсируется мн. насл. интерфейсов)
Переменные любого типа (даже bool и int)

являются объектами
Для освобождения памяти используется система сборки мусора среды выполнения
Невозможно определить глобальные переменные или методы, их определения должны находиться внутри классов

Курс SE MSF.NET

Введение в C#

Некоторые отличия C# от C++ В С# отсутствует множественное наследование (компенсируется мн. насл. интерфейсов)Переменные любого типа (даже

Слайд 5Некоторые отличия C# от C++
Все данные делятся на ссылочные и

размерные
Ссылочные хранятся в общем пуле памяти, а размерные могут храниться

в стеке метода
Данные типа bool могут принимать только два значения true и false, при этом не допускается преобразование этого типа в другие
Разрядность каждого типа данных не зависит от ОС и процессора

Курс SE MSF.NET

Введение в C#

Некоторые отличия C# от C++Все данные делятся на ссылочные и размерныеСсылочные хранятся в общем пуле памяти, а

Слайд 6Основные отличия C# от C++
Использование указателей ограничено областями небезопасного кода.

Вместо указателей на функции используется механизм специальных методов – делегатов


В С# структуры являются размерными типами данных, а классы – ссылочными

Добавлены новые операторы и ключевые слова is, as, ref, out, foreach. В операторе try-catch добавлен блок finally

Курс SE MSF.NET

Введение в C#

Основные отличия C# от C++Использование указателей ограничено областями небезопасного кода. Вместо указателей на функции используется механизм специальных

Слайд 7Типы данных в C#
Курс SE MSF.NET
Введение в C#

Типы данных в C#Курс SE MSF.NETВведение в C#

Слайд 8 Целые типы
Курс SE MSF.NET
Введение в C#

Целые типыКурс SE MSF.NETВведение в C#

Слайд 9Курс SE MSF.NET
Введение в C#

Типы с плавающей точкой




Тип decimal

Курс SE MSF.NETВведение в C#Типы с плавающей точкойТип decimal

Слайд 10Структуры
Сходны с классами. Отличие: являются типом значения
Структура передаются по

значению, а не по ссылке
Объявление структуры подобно объявлению класса:


public struct Point
{ public int x, y;
public Point(int p1, int p2)
{ x = p1; y = p2; }
}

Курс SE MSF.NET

Введение в C#

СтруктурыСходны с классами. Отличие: являются типом значения Структура передаются по значению, а не по ссылке Объявление структуры

Слайд 11 Одномерные массивы
Объявление:
int[ ] arraysize=10;
int[ ] array0

= new int[arraysize];
int[ ] array1 = {1, 2, 3,

4, 5};
Доступ к элементам:
int element = array1[0];
Нумерация индексов от 0 до N - 1, N - размер массива

Курс SE MSF.NET

Введение в C#

Одномерные массивыОбъявление:	 int[ ] arraysize=10;	 int[ ] array0 = new int[arraysize];	 int[ ] array1 =

Слайд 12 Многомерные массивы
Элементы многомерных массивов идентифицируются набором индексов - "координат"

в многомерном пространстве

Объявление:
int[,] array = new int[10, 20,

30];
int[,] array = {{1, 2}, {3, 4}};

Доступ к элементам:
int element = array[0, 1, 2];

Курс SE MSF.NET

Введение в C#

Многомерные массивыЭлементы многомерных массивов идентифицируются набором индексов -

Слайд 13Неровные (jagged) массивы
Неровные массивы – это массивы массивов (ссылок на

массивы)

Декларация:
int array[ ] [ ] = new

int[2];
array[0] = new int[4];
array[1] = new int[20];
Доступ:
int element = array[0][1];

Размеры неровных массивов могут различаться даже в одном измерении. В приведенном примере существует элемент array[1][15], но не существует элемента array[0][15]

Курс SE MSF.NET

Введение в C#


Неровные (jagged) массивы	Неровные массивы – это массивы массивов (ссылок на массивы) 		Декларация: 	 int array[ ] [

Слайд 14Все значения являются объектами
Все типы значений представлены соответствующими типами .NET

Framework из пространства имен System. Они наследуются от класса ValueType
Для

каждого значения поддерживается соответствующий "упакованный" (boxed) тип, который является классом, реализующим то же поведение и содержащим те же данные
Если требуется передать значение по ссылке, оно автоматически упаковывается (box) в соответствующий упакованный тип, а по прибытии при необходимости распаковывается (unbox). Находясь в упакованном виде, тип может использовать все методы класса System.ValueType

Например, допустима следующая конструкция:
string s = 2004.ToString();

Курс SE MSF.NET

Введение в C#


Все значения являются объектамиВсе типы значений представлены соответствующими типами .NET Framework из пространства имен System. Они наследуются

Слайд 15Окно Matrix ClassBrowser для класса ValueType
Курс SE MSF.NET
Введение в C#

Окно Matrix ClassBrowser для класса ValueTypeКурс SE MSF.NETВведение в C#

Слайд 16Классы наследники от ValueType
System.Object System.ValueType
System.Byte
System.Char
System.Decimal
System.Boolean
System.Double
System.Int16
System.Single
System.DateTime


System.Enum
System.Void


Курс SE MSF.NET
Введение в C#

Классы наследники от ValueTypeSystem.Object System.ValueTypeSystem.Byte System.Char System.Decimal System.BooleanSystem.Double System.Int16 System.Single System.DateTime System.EnumSystem.Void Курс SE MSF.NETВведение в C#

Слайд 17Базовые выражения и операторы C#
Курс SE MSF.NET
Введение в C#

Базовые выражения и операторы C# Курс SE MSF.NETВведение в C#

Слайд 18Операторы
Курс SE MSF.NET
Введение в C#

ОператорыКурс SE MSF.NETВведение в C#

Слайд 19Операторы (продолжение)
Курс SE MSF.NET
Введение в C#

Операторы (продолжение)Курс SE MSF.NETВведение в C#

Слайд 20Операторы (продолжение)
Курс SE MSF.NET
Введение в C#

Операторы (продолжение)Курс SE MSF.NETВведение в C#

Слайд 21Математические операторы
Курс SE MSF.NET
Введение в C#

Математические операторыКурс SE MSF.NETВведение в C#

Слайд 22Унарные операторы
Курс SE MSF.NET
Введение в C#

Унарные операторыКурс SE MSF.NETВведение в C#

Слайд 23Составные операторы
Курс SE MSF.NET
Введение в C#

Составные операторыКурс SE MSF.NETВведение в C#

Слайд 24Поразрядные операторы
Курс SE MSF.NET
Введение в C#

Поразрядные операторыКурс SE MSF.NETВведение в C#

Слайд 25Логические операторы
Курс SE MSF.NET
Введение в C#

Логические операторыКурс SE MSF.NETВведение в C#

Слайд 26Операторы отношения
Курс SE MSF.NET
Введение в C#

Операторы отношенияКурс SE MSF.NETВведение в C#

Слайд 27Управляющие операторы
Курс SE MSF.NET
Введение в C#

Управляющие операторы Курс SE MSF.NETВведение в C#

Слайд 28Управляющие операторы
Курс SE MSF.NET
Введение в C#

Управляющие операторыКурс SE MSF.NETВведение в C#

Слайд 29Операторы AS,IS,TYPEOF
.
Курс SE MSF.NET
Введение в C#

Операторы AS,IS,TYPEOF.Курс SE MSF.NETВведение в C#

Слайд 30Трансляция программ на C#
Визуальная среда разработки Microsoft Visual Studio.Net
Пакетный транслятор,

входящий в Microsoft.Net Framework SDK (доступен для бесплатной загрузки)
Среда SharpDevelop

(доступна для бесплатной загрузки)

Курс SE MSF.NET

Введение в C#

Трансляция программ на C#Визуальная среда разработки Microsoft Visual Studio.NetПакетный транслятор, входящий в Microsoft.Net Framework SDK (доступен для

Слайд 31Программа Hello, C# world!
using System;
namespace Hello
{

class HelloApp
{

static void Main()
{
Console.WriteLine(“Hello, C# world”);
Console.ReadLine();
}
}
}

Курс SE MSF.NET

Введение в C#

Программа Hello, C# world!using System; namespace Hello {    class HelloApp 		{

Слайд 32Запуск программы Hello, C# world
Набираем текст программы в любом текстовом

редакторе
Сохраняем его с именем hello.cs в директории C:\Temp
В командной строке

набираем
C:\...\Framework\v1.1\csc.exe hello.cs
Запускаем сгенерированный hello.exe

Наша первая программа работает!

Курс SE MSF.NET

Введение в C#

Запуск программы Hello, C# worldНабираем текст программы в любом текстовом редактореСохраняем его с именем hello.cs в директории

Слайд 33А так наша программа выглядит на MSIL
.namespace 'Hello'{
.class /*02000002*/

private auto ansi beforefieldinit 'HelloApp'
extends

['mscorlib'/* 23000001 */]'System'.'Object'/* 01000001 */
{ .method /*06000001*/ private hidebysig static
void 'Main'() cil managed { .entrypoint .maxstack 1
IL_0000: /* 72 | (70)000001 */ ldstr "Hello, C# world" /* 70000001 */
IL_0005: /* 28 | (0A)00000D */ call void ['mscorlib'/* 23000001 */]'System'.'Console'/* 0100000E */::'WriteLine'(string) /* 0A00000D */
IL_000a: /* 28 | (0A)00000E */ call string ['mscorlib'/* 23000001 */]'System'.'Console'/* 0100000E */::'ReadLine'() /* 0A00000E */
IL_000f: /* 26 | */ pop
IL_0010: /* 2A | */ ret
} // end of method 'HelloApp'::'Main'
.method /*06000002*/ public hidebysig specialname rtspecialname
instance void .ctor() cil managed {
// Method begins at RVA 0x2070
// Code size 7 (0x7) .maxstack 1
IL_0000: /* 02 | */ ldarg.0
IL_0001: /* 28 | (0A)00000F */ call instance void ['mscorlib'/* 23000001 */]'System'.'Object'/* 01000001 */::.ctor() /* 0A00000F */
IL_0006: /* 2A | */ ret
} // end of method 'HelloApp'::.ctor
} // end of class 'HelloApp'
} // end of namespace 'Hello'

Курс SE MSF.NET

Введение в C#

А так наша программа выглядит на MSIL.namespace 'Hello'{ .class /*02000002*/ private auto ansi beforefieldinit 'HelloApp'

Слайд 34Работа с консолью
Для работы с консолью в .NET Framework

используется класс System.Console
Все его методы класса Console являются статическими, (не

нужно создавать его экземпляр)
Класс ответственен за ввод, вывод и вывод ошибок
По умолчанию ввод/вывод производится на стандартную консоль, либо вообще не производится, если консоль отсутствует

Курс SE MSF.NET

Введение в C#

Работа с консолью Для работы с консолью в .NET Framework используется класс System.ConsoleВсе его методы класса Console

Слайд 35Окно Matrix ClassBrowser для класса Console
Курс SE MSF.NET
Введение в C#

Окно Matrix ClassBrowser для класса ConsoleКурс SE MSF.NETВведение в C#

Слайд 36Метод Read
Читает символ из потока ввода
Возвращает код прочитанного

символа (значение типа int), либо -1, если ничего прочитано не

было.
Пример:
do
{ int i = Console.Read();
if (i != -1) Console.WriteLine("{0} ({1})", (char)i, i); else break;
} while (true);

Курс SE MSF.NET

Введение в C#

Метод Read Читает символ из потока ввода Возвращает код прочитанного символа (значение типа int), либо -1, если

Слайд 37Метод Write
Предназначен для вывода на экран
Определен для всех базовых

типов
Console.Write(1);
Console.Write(3.14159265);
Console.Write("Строка");
Поддерживает форматированные строки
При форматировании может применяться ряд модификаторов, например, вместо

"{n}" подставляется n-й входной параметр
Console.Write("Привет, {0}", Name);

Курс SE MSF.NET

Введение в C#

Метод WriteПредназначен для вывода на экран Определен для всех базовых типовConsole.Write(1);Console.Write(3.14159265);Console.Write(

Слайд 38Hello C# World с помощью SharpDevelop
Запускаем SharpDeveloper
Создаем новый комбинированный проект
Выбираем

тип приложения - WindowsForms
Помещаем на поле формы Label
Изменяем свойства Text:

Hello C# World и Font:48
Запускаем приложение

Курс SE MSF.NET

Введение в C#

Hello C# World с помощью SharpDevelop Запускаем SharpDeveloperСоздаем новый комбинированный проектВыбираем тип приложения - WindowsFormsПомещаем на поле

Слайд 39Проект в работе
Курс SE MSF.NET
Введение в C#

Проект в работеКурс SE MSF.NETВведение в C#

Слайд 40Проект в действии
Курс SE MSF.NET
Введение в C#

Проект в действииКурс SE MSF.NETВведение в C#

Слайд 41Обработка ошибок
Предположим, произошла ошибка и дальнейшее запланированное выполнение программы теряет

смысл. Что делать?
Можно прервать процесс и закончить работу
Можно

продолжить работу, если в коде, определена стратегия поведения в “аварийной” ситуации
В старых языках программирования приходилось писать многоуровневые проверки с if, что громоздко и неудобно...

Курс SE MSF.NET

Введение в C#

Обработка ошибокПредположим, произошла ошибка и дальнейшее запланированное выполнение программы теряет смысл. Что делать? Можно прервать процесс и

Слайд 42Пример обработки ошибки деления на ноль в рамках структурного программирования
using

System;
namespace DivideByZero {
class DivideByZero {
static void Main (string[

] arg) {
int i;
for (i= -3;i<3;i++) {
if (i==0)
{Console.WriteLine (“Ошибка в программе – деление на ноль, i= {0} ”,i); i++;
int j=1/i;
Console.ReadLine();
}}}}}

Курс SE MSF.NET

Введение в C#

Проверка

Реакция на ошибку

Пример обработки ошибки деления на ноль в рамках структурного программированияusing System;namespace DivideByZero { class DivideByZero { static

Слайд 43Исключения
При возникновении ошибки создается объект, который ее описывает и на

его основе выбрасывается исключение
При генерации исключения выполнение текущего кода прекращается.

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

Курс SE MSF.NET

Введение в C#

ИсключенияПри возникновении ошибки создается объект, который ее описывает и на его основе выбрасывается исключениеПри генерации исключения выполнение

Слайд 44Синтаксис исключений
try
{ блок команд, в котором может возникнуть

ошибка }
[catch [(тип_исключения имя_исключения)]

{ блок обработки исключения }]
[finally { команды, которые выполняются в любом случае }]

Курс SE MSF.NET

Введение в C#

Синтаксис исключений	try  { блок команд, в котором может возникнуть ошибка }   [catch [(тип_исключения имя_исключения)]

Слайд 45Пример
using System;
namespace DivideByZeroEX {
class DivideByZeroEXApp {
static void Main

(string[ ] arg){
int i=0;
try { int j=1/i;}
catch (System.Exception ex) {

Console.WriteLine (“Ошибка в программе {0} [{1}]\n\n{2}”, ex.Source, ex.Message, ex.StackTrace); }
Console.ReadLine();
}}}

Курс SE MSF.NET

Введение в C#

Ссылка на объект класса System.Exeption

Имя программы

Текст сообщения

Строка

Примерusing System;namespace DivideByZeroEX { class DivideByZeroEXApp { static void Main (string[ ] arg){	int i=0;	try { int j=1/i;}	catch

Слайд 46Еще один пример
class ReverseFunction {
public static double Calculate( double

d )
{ if (d == 0) throw new Exception

("Function is undefined in 0");
return 1 / d; }
public static void Main() {
try
{Console.WriteLine("1 / {0} = {1}", 2, Calculate(2)); Console.WriteLine("1 / {0} = {1}", 0, Calculate(0)); Console.WriteLine("1 / {0} = {1}", 1, Calculate(1)); }
catch (Exception e) { Console.WriteLine("Error:{0}", e); } } }

Курс SE MSF.NET

Введение в C#

Создаем свой объект

Еще один примерclass ReverseFunction { public static double Calculate( double d ) { if (d == 0)

Слайд 47 И еще один пример
Для того, чтобы обработать нужное исключение

ставится несколько блоков catch
Вызывается первый блок, чей тип исключения соответствует

типу пришедшего исключения

try { CalculateSpline(); }
catch (DivisionByZeroException e) { Console.WriteLine("Divizion by 0"); }
catch (OverflowException e) { Console.WriteLine("Overflow"); }
catch (Exception e) //Обработка остальных типов исключений
{ Console.WriteLine("Exception: {0}", e); }

Курс SE MSF.NET

Введение в C#

И еще один примерДля того, чтобы обработать нужное исключение ставится несколько блоков catchВызывается первый блок, чей

Слайд 48Стандартные классы исключений
System.DivideByZeroException
System.OverflowException
System.ArrayTypeMismatchException
System.ArgumentOutOfRangeException
System.IO.FileNotFoundException
System.OutOfMemoryException
System.StackOverflowException

А всего их

- больше сотни


Курс SE MSF.NET
Введение в C#

Стандартные классы исключенийSystem.DivideByZeroExceptionSystem.OverflowExceptionSystem.ArrayTypeMismatchException System.ArgumentOutOfRangeException System.IO.FileNotFoundException System.OutOfMemoryException System.StackOverflowException 	А всего их - больше сотниКурс SE MSF.NETВведение в C#

Слайд 49Заключение
Существует язык программирования разработанный с учетом особенностей технологии .NET Framework

Для

разработки приложений существуют мощные визуальные средства

Сам язык достаточно прост для

изучения

Курс SE MSF.NET

Введение в C#

ЗаключениеСуществует язык программирования разработанный с учетом особенностей технологии .NET FrameworkДля разработки приложений существуют мощные визуальные средстваСам язык

Слайд 50Вопросы для закрепления материала

Назовите два отличия C# от C++
Почему в

C# отсутствуют деструкторы классов?
Чем транслировать программы на C#?
Зачем необходимо собственное

пространство имен?
Зачем нужна упаковка типов?
Какие новые типы данных Вы узнали?
Опишите назначение оператора foreach
Что такое исключение?


Курс SE MSF.NET

Введение в C#

Вопросы для закрепления материалаНазовите два отличия C# от C++Почему в C# отсутствуют деструкторы классов?Чем транслировать программы на

Слайд 51Ссылки
Учебник по C#
http://www.dotsite.spb.ru/Tutorials/CSharp/
Джесс Либерти “Программирование на C#” 2е изд. СПб-М.,

Символ, 2003
Троелсен Э. C# и платформа .NET. Библиотека программиста. –

СПб.: Питер, 2002
Фролов А.В., Фролов Г.В. Язык C#. Самоучитель.-М.: ДИАЛОГ-МИФИ, 2003

Курс SE MSF.NET

Введение в C#

СсылкиУчебник по C#http://www.dotsite.spb.ru/Tutorials/CSharp/Джесс Либерти “Программирование на C#” 2е изд. СПб-М., Символ, 2003Троелсен Э. C# и платформа .NET.

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

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

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

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

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


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

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