Class HelloWorld // Объявление класса — КиберПедия 

Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...

Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...

Class HelloWorld // Объявление класса

2018-01-30 125
Class HelloWorld // Объявление класса 0.00 из 5.00 0 оценок
Заказать работу

Class HelloWorld // Объявление класса

{ static void Main() // Объявление метода этого класса

{ System.Console.WriteLine("Hello World!"); // Вывод сообщения

// Предотвращение закрытия окна консоли

System.Console.ReadLine();

}

}

 

2.1. Основные элементы языка C#

 

Рис.2.1. Диалоговое окно Options

 

 

Примеры идентификаторов:

 

Правильные идентификаторы: Неправильные идентификаторы:
мой_идентификатор identifier2 Subroutine @bool @static мой идентификатор // содержит пробел 2identifier // начинается цифрой bool // ключевое слово @bool2 // за символом @ нет // ключевого слова

 

IdentifierNumberOne

 

 

Переменные и константы

 

Например: DecimalNum, Total, Date_of_birth – допустимые имена переменных;

2Time, $Total, Date of birth, Write – недопустимые имена переменных.

 

Примеры объявления переменных:

 

int a, b = -3;

string greeting = "Hello, World!";

double bigNumber = 1e100;

 

Примеры объявления констант:

 

const int n = 0;

const double pi = 3.14159265358979323846264338327950;

const string productName = "Visual C#";

const double gravitationalConstant = 6.673e-11, e = 2,718281828459;

 

const int a = 5;

const int b = a + 100;

 

 

Модификаторы доступа

 

Модификаторы доступа: public, internal, protected, private.

 

Примеры использования модификаторов доступа:

 

private string productName = "Visual C#";

public const double pi = 3.14159265358979323846;

 

 

Присваивание значений переменным

 

Синтаксис использования оператора присваивания "=": переменная = выражение;

  Например:   sngFirst = 10; strLastName = "Иванов";   Result = First + 255; strName = "Иванов" + ": " + strTeam;       Рис.2.2. Алгоритмическая конструкция «Процесс»  

 

 

Типы данных

(http://msdn.microsoft.com/ru-ru/library/ms173104.aspx)

(http://msdn.microsoft.com/ru-ru/library/3ewxz6et.aspx)

 

Значащие и ссылочные типы

 

Пример 2.2. Демонстрация изменений переменных значащих и ссылочных типов.

 

using System;

// Определяем структуру с двумя целочисленными полями

Struct Foo

{ public int x, у;

}

Class ValRefClass

{ static void Main()

{ // Создаем две переменные класса Foo

Foo f1 = new Foo();

Foo f2 = new Foo();

f1.x = 100;

f1.y = 200;

f2 = f1; // Присваивание переменной f1 значение переменной f2

// Вывод значений переменных

Console.WriteLine("fl.x = {0}", f1.x);

Console.WriteLine("fl.y = {0}", f1.y);

Console.WriteLine("f2.x = {0}", f2.x);

Console.WriteLine("f2.у = {0}", f2.y);

f1.x = 300; // Изменение f1

// Вывод полей x обеих переменных

Console.WriteLine("После изменения f1.x:");

Console.WriteLine("f1.x = {0}", f1.x);

Console.WriteLine("f2.x = {0}", f2.x);

Console.ReadLine();

}

}

/* Вывод (изменение переменных значащего типа):

fl.x = 100

fl.y = 200

f2.x = 100

f2.y = 200

После изменения f1.x:

fl.x = 300

f2.x = 100

*/

 

 

Вместо значащего типа struct можно использовать ссылочный тип class:

 

Class Foo

{ public int x, у;

}

/* Вывод (изменение переменных ссылочного типа):

fl.x = 100

fl.y = 200

f2.x = 100

f2.y = 200

После изменения f1.x:

fl.x = 300

f2.x = 300

*/

 

 

Таблица типов данных

 

Таблица 2.1. Типы данных

Тип С# / тип CTS Описание (размер в байтах) Диапазон значений
Целые типы    
sbyte System.SByte Короткое целое число (1 байт) от -128 до +127
byte System.Byte Короткое целое число без знака (1 байт) от 0 до 255
short System.Int16 Целое число (2 байта) от -32 768 до +32 767
ushort System.UIntl6 Целое число без знака (2 байта) от 0 до 65 535
int System.Int32 Целое число (4 байта) от -2 147 483 648 до +2 147 483 647
uint System.UInt32 Целое число без знака (4 байта) от 0 до 4 294 967 295
long System.Int64 Длинное целое число (8 байтов) от -9 223 372 036 854 775 808 до +9 223 372 036 854 775 807
ulong System.UInt64 Длинное целое число без знака (8 байтов) от 0 до 18 446 744 073 709 551 615
Вещественные типы    
float System.Single Число с плавающей запятой (4 байта) от 1,5 · 10-45 до 3,4 · 1038 от -3,402 823 47 · 1038 до -1,401 298 · 10-45 для отрицательных величин и от +1,401 298 · 10-45 до +3,402 823 47 · 1038 для положительных величин
double System.Double Число с плавающей запятой двойной точности (8 байтов) от 5.0 · 10-324 до 1,7 · 10308 от -1,797 693 134 862 315 7 · 10308 до -4,940 656 458 412 47 · 10-324 для отрицательных величин и от 4,940 656 458 412 47 · 10-324 до 1,797 693 134 862 315 7 · 10308 для положительных величин
decimal System.Decimal Десятичное число с фиксированной запятой (16 байтов) от -7,9 · 1028 до +7,9 · 1028 ±79 228 162 514 264 337 593 543 950 335 – как целое число; ±7,9 228 162 514 264 337 593 543 950 335 – как десятичное число (28 разрядов после запятой); Наименьшее ненулевое значение: ±10-28
Логический тип    
bool System.Boolean Логическое значение (1 байт, зависит от платформы) true или false. Эти значения не отождествляются с целочисленными значениями
Другие типы    
char System.Char 16-битовый код символа в кодировке Unicode (2 байта) один символ (код – U+0000... U+ffff). Область U+0000... U+007f отведена для ASCII-кодов, U+0400... U+052f – для кириллицы
Ссылочные типы (значения хранятся в куче)  
string System.String Строка (последовательность из нуля или более символов в кодировке Unicode) представляет собой неизменяемый объект в куче и рассматривается как массив символов. Любое изменение строки создает новый объект типа string, при этом старый объект не уничтожается
object System.Object Ссылка на объект (4 байта – для 32-bit и 8 байт – для 64-bit платформ) любая ссылка на объект
Структурный тип    
System.DateTime Дата и время (8 байтов) от 00:00:00 1 января 0001 года до 23:59:59 31 декабря 9999 года

 

Пример 2.3. Вывод некоторых сведений о типе decimal.

 

using System;

using System.Collections.Generic;

using System.Text;

Namespace Decimals

{ class Decimal

{ static void Main()

{ decimal d;

Console.WriteLine("Тип decimal:");

Console.WriteLine("Минимум: " +

decimal.MinValue.ToString("N"));

Console.WriteLine("Максимум: " +

decimal.MaxValue.ToString("N"));

d = decimal.Parse("-33333");

Console.WriteLine("GetType: " + d.GetType());

Console.WriteLine("d = {0}", d);

Console.ReadLine();

}

}

}

/* Вывод:

Тип decimal:

Минимум: -79 228 162 514 264 337 593 543 950 335.00

Максимум: 79 228 162 514 264 337 593 543 950 335.00

GetType: System.Decimal

d = -33333

*/

 


 

2.2.3. Приведение и преобразование типов

(http://msdn.microsoft.com/ru-ru/library/ms173105.aspx)

 

Примеры неявного преобразования:

 

int i = 0;

double d = 0;

i = 10;

d = i; // Неявное преобразование

 

Таблица 2.2. Неявные преобразования типов

Исходный тип Тип назначения
sbyte short, int, long, float, double, decimal
byte short, ushort, int, uint, long, ulong, float, double, decimal
short int, long, float, double, decimal
ushort int, uint, long, ulong, float, double, decimal
int long, float, double, decimal
uint long, ulong, float, double, decimal
long float, double, decimal
ulong float, double, decimal
char ushort, int, uint, long, ulong, float, double, decimal
float double

 

Примеры явного преобразования:

 

int i = 0;

double d = 3.5;

i = (int) d; // Явное преобразование, или "приведение"

 

Таблица 2.3. Явные преобразования типов

Исходный тип Тип назначения
sbyte byte, ushort, uint, ulong, char
byte sbyte, char
short sbyte, byte, ushort, uint, ulong, char
ushort sbyte, byte, short, char
int sbyte, byte, short, ushort, uint, ulong, char
uint sbyte, byte, short, ushort, int, char
long sbyte, byte, short, ushort, int, uint, ulong, char
ulong sbyte, byte, short, ushort, int, uint, long, char
char sbyte, byte, short
float sbyte, byte, short, ushort, int, uint, long, ulong, char, decimal
double sbyte, byte, short, ushort, int, uint, long, ulong, char, float, decimal
decimal sbyte, byte, short, ushort, int, uint, long, ulong, char, float, double

 

 

Совместимость типов

 

Пример искажения результата или потери точности при явном преобразовании типов:

 

byte b1;

int in1 = 1, in2 = 2, in3 =1000;

b1 = in1 + in2; // Ошибка! Тип int несовместим с типом byte

b1 = (byte)(in1 + in2); // Правильное преобразование

Class TestClass

{ static void Main(string[] args)

{ // Отображение числа параметров командной строки:

System.Console.WriteLine(args.Length);

}

}

 

 

Пространства имен

 

Таблица 2.5. Некоторые пространства имен.NET Framework

Пространство имен Назначение
System Корневое пространство имен, содержащее класс Object и множество низкоуровневых классов для работы с простыми типами, выполнения математических операций, сбора мусора и т.п.
System.Collections Контейнерные классы, такие как ArrayList, Queue, Stack, SortedList и т.п.
System.Data System.Data.Common System.Data.OleDb System.Data.SqlClient Классы этих пространств предназначены для работы с базами данных
System.Drawing System.Drawing.Drawing2D System.Drawing.Printing Классы для примитивов графического интерфейса – растровых изображений, шрифтов, значков, поддержки печати
System.IO Классы, отвечающие за операции ввода-вывода
System.Net Классы, отвечающие за передачу данных по сети (запрос-ответ, создание сокетов и т.п.)
System.Security В этом пространстве имен собраны классы, использующиеся для повышения безопасности при передаче данных (работа с разрешениями, криптография и т.п.)
System.Threading Это пространство имен для классов, которые работают с программными потоками, такими как Mutex, Thread, Timeout и т.п.
System.Web Классы, используемые в веб-приложениях
System.Windows.Forms Классы для работы с элементами интерфейса Windows – окнами, элементами управления и т.д.
Syste.XML Множество классов для работы с данными в формате XML

 

 

Использование оператора using для объявления ссылки на пространство имен:

 

using System;

using System.Drawing;

using System.Collections;

using System.ComponentModel;

using System.Windows.Forms;

using System.Data;

 

Пример задания пространства имен (Drawing) в операторе using:

 

Class myClass

{ public void DoIt()

{ // Создаем изображение 20 на 20 пикселей

Bitmap bm = new Bitmap(20, 20);

...

}

}

 

 

Можно указывать составное имя класса:

 

Class myClass

{ public void DoIt()

{ // Создаем изображение 20 на 20 пикселей

System.Drawing.Bitmap bm = new System.Drawing.Bitmap(20, 20);

...

}

}

 

 

Выражения и операции

(http://msdn.microsoft.com/ru-ru/library/ms173142)

(http://msdn.microsoft.com/ru-ru/library/6a71f45d)

 

Таблица 2.6. Операции по категориям и их приоритет

Выражение Описание (приоритет)
  Основные операторы (9)
x.y Доступ к членам
f(x) Вызов функции, метода и делегата
a[x] Доступ к элементу массива
x++ Постфиксное приращение (инкремент)
x-- Постфиксное уменьшение (декремент)
new T(...) Создание объекта и делегата
new T(...){...} Создание объекта с инициализатором
new {...} Анонимный инициализатор объекта
new T[...] Создание массива.
typeof(T) Получение объекта System.Type для T (определение типа)
checked(x) Вычисление выражения в проверенном контексте (создание проверяемого блока)
unchecked(x) Вычисление выражения в непроверенном контексте (создание непроверяемого блока)
default(T) Получение значения по умолчания для типа T
delegate {} Анонимная функция (анонимный метод)
x->y Объединение разыменования указателя и доступа к члену (x – это указатель типа T*, а y – это член T) (требуется небезопасный контекст)
    Унарные операторы (8)
+x Унарный плюс
-x Унарный минус
!x Логическое отрицание
~x Поразрядное отрицание (инверсия разрядов)
++x Префиксное приращение (инкремент)
--x Префиксное уменьшение (декремент)
(T)x Явное преобразование типа переменной x в тип T
& Унарный оператор возвращает адрес своего операнда (требуется небезопасный контекст)
sizeof(x) Определяет размер в байтах для переменной встроенного типа (а также ссылочного типа, типа указателей, структур).
    Мультипликативные операторы (7)
* Умножение
/ Деление
% Остаток от деления
    Аддитивные операторы (6)
x + y Сложение, объединение строк, объединение делегатов
x - y Вычитание, удаление делегатов
    Операторы сдвига (5)
x << y Сдвиг влево
x >> y Сдвиг вправо
    Операторы отношения и типа (4)
x < y Меньше
x > y Больше
x <= y Меньше или равно
x >= y Больше или равно
x is T Проверка принадлежности к типу. Возвращает значение true, если x относится к типу T, в противном случае возвращает значение false
x as T Преобразование типа. Возвращает x типа T или нулевое значение, если x не относится к типу T
    Операторы равенства (3)
x == y Равно
x!= y Не равно
    Логические, условные операторы и Null-операторы (2)
x & y Логическое умножение – для операндов типа bool. Поразрядное И (AND) – для целых операндов
x | y Логическое сложение – для операндов типа bool. Поразрядное ИЛИ (OR) – для целых операндов
x ^ y Логическое исключающее ИЛИ – для операндов типа bool. Поразрядное исключающее ИЛИ (XOR) – для целых операндов
x && y Условное умножение (AND) – вычисляет y только если x имеет значение true
x || y Условное сложение (OR) – вычисляет y только если x имеет значение false
x?? y Объединение нулей – равно y, если x – нулевое, в противном случае равно x
x?: y: z Условная операция. Результат равен y, если x имеет значение true, и z если x имеет значение false
    Операторы назначения и анонимные операторы (1)
= Присваивание
x op= y Составное присваивание. Поддерживает следующие операторы: +=, -=, *=, /=, %=, &=, |=, ^=, <<=, >>=
(T x) => y Анонимная функция (лямбда-выражение)

 

Основные операции.

Операции постфиксных инкремента и декремента:

 

int x = 1;

Console.WriteLine("{0} {1} {2}", x++, x--, x); // Вывод: 1 2 1

 

 

Операция sizeof(x) определяет размер в байтах для переменной встроенного или ссылочного типа, а также типа указателей или структур:

 

int intSize = sizeof(int); // Результат: intSize = 4

 

 

Пример 2.4. Использование операции ->.

 

/ Компилировать с ключем: /unsafe

Struct Point

{ public int x, y;

}

Class MainClass12

{ unsafe static void Main()

{ Point pt = new Point();

Point* pp = &pt;

pp->x = 123;

pp->y = 456;

Console.WriteLine("{0} {1}", pt.x, pt.y); // Вывод: 123 456

}

}

 

 

Унарные операции.

Пример 2.5. Использование операции инверсии разрядов целого числа (~).

 

using System;

Class Demo

{ public static string ByteToStr(byte b)

// Преобразование байта (b) в двоичную форму

{ string s = ""; // Выходная строка

// Цикл преобразования 8-ми разрядов

for (sbyte n = 7; n >= 0; n--)

{ if ((byte)(b / Math.Pow(2, n)) == 1)

{ s = s + '1';

b = (byte)(b - (byte)(Math.Pow(2, n)));

}

Else

s = s + '0';

}

return s;

}

Static void Main()

{ byte b = 1;

int i = (int) b;

i = ~i;

byte b2 = (byte) (i);

Console.WriteLine("Демонстрация инверсии разрядов " +

"целого числа:");

Console.WriteLine("Значение байта без инверсии: {0,3};\t" +

"двоичная форма: {1}", b, ByteToStr(b));

Console.WriteLine("Значение байта с инверсией: {0,3};\t" +

"двоичная форма: {1}", b2, ByteToStr(b2));

Console.ReadLine();

}

}

/* Вывод:

Демонстрация инверсии разрядов целого числа:

Class Demo

{ public static string ByteToStr(byte b)

// Преобразование байта (b) в двоичную форму

{... // Код функции смотри в примере 2.5

}

Static void Main()

{ Console.WriteLine("Демонстрация сдвига разрядов " +

"целого числа:");

byte b = 1;

for (int i = 1; i <= 8; i++)

{ Console.WriteLine("Значение байта: {0,3};\t" +

"двоичная форма: {1}", b, ByteToStr(b));

int k = (int) b;

b = (byte)(k << 1);

}

Console.ReadLine();

}

}

/* Вывод:

Демонстрация сдвига разрядов целого числа:

Методы класса System.Match

(http://msdn.microsoft.com/ru-ru/library/system.math)

 

Таблица 2.7. Поля и основные методы класса System.Math

Члены Описание
Поля  
E Представляет основание натурального логарифма, определяемое константой e = 2.71828182845904523536.
PI Представляет отношение длины окружности к ее диаметру, определяемое константой π = 3.14159265358979323846.
Методы  
double Abs(double d); Возвращает модуль аргумента. Имеются перегруженные методы для всех математических типов (Decimal, Single, SByte, Int16, Int32, Int64)
double Acos(double d); Возвращает угол в радианах по его арккосинусу
double Asin(double d); Возвращает угол в радианах по его арксинусу
double Atan(double d); Возвращает угол в радианах по его арктангенсу
long BigMul(int x, int y); Возвращает произведение двух 32-разрядных чисел
double Ceiling(double d); Возвращает наименьшее целое число, которое больше или равно аргументу. Имеется перегруженный метод для типа Decimal
double Cos(double d); Возвращает косинус угла d в радианах
double Cosh(double d); Возвращает гиперболический косинус угла d в радианах
int DivRen (int a, int b, out int R); Возвращает результат деления двух целых чисел и остаток R как выходной параметр. Имеется перегруженный метод для типа Int64
double Exp(double d); Возвращает Е в степени d
double Floor(double d); Возвращает наибольшее целое, которое меньше или равно заданному числу. Имеется перегруженный метод для типа Decimal
double IEEERemainder (double a, double b); Возвращает остаток от деления а на b
double Log(double d); Возвращает натуральный логарифм числа d. В перегруженном методе вторым параметром передается основание логарифма
double Log10(double d); Возвращает десятичный логарифм числа d
double Max (double a, double b)); Возвращает максимальное из двух чисел. Имеются перегруженные методы для всех математических типов (Decimal, Single, SByte, Byte, Int16, UInt16, Int32, UInt32, Int64, UInt64)
double Min (double a, double b); Возвращает меньшее из двух чисел. Имеются перегруженные методы для всех математических типов (Decimal, Single, SByte, Byte, Int16, UInt16, Int32, UInt32, Int64, UInt64)
double Pow (double a, double b); Возвращает результат возведения числа а в степень b
double Round(double a); double Round (double a, Int32 n); Округляет число а до ближайшего целого (или до n разрядов). Имеется перегруженный метод для типа Decimal
int Sign(double a); Возвращает -1, 0 или +1, когда число а, соответственно, меньше нуля, равно ему или больше нуля. Имеются перегруженные методы для всех математических типов (Decimal, Single, SByte, Int16, Int32, Int64)
double Sin(double a); Возвращает синус угла а в радианах
double Sinh(double a); Возвращает гиперболический синус угла а в радианах
double Sqrt(double a); Возвращает корень квадратный из а
double Tan(double a); Возвращает тангенс угла а в радианах
double Tanh(double a); Возвращает гиперболический тангенс угла а в радианах
double Truncate(double a) Возвращает целую часть заданного числа a. Имеется перегруженный метод для типа Decimal

 

 

Пример 2.7. Использование методов класса System.Math для определения высоты, площади и углов трапеции по ее известным сторонам.

 

Дано: Трапеция ABCD; основания: a = 20 см, c = 10 см, бок. стороны: b = 8 см, d = 6 см.   Найти: h, S, α, β.

 

 

Формулы: (ф-ла Герона);

=> ;

;

sin α = h / b; Ðαрад = arcsin α; Ðαград = αрад · 180 / π;

sin β = h / d; Ð βрад = arcsin β; Ð βград = βрад · 180 / π.

 

using System;

Class MathTrapezoid

{ static void Main()

{ double a = 20.0; // Большее основание

double c = 10.0; // Меньшее основание

double b = 8.0; // Левая сторона

double d = 6.0; // Правая сторона

Console.WriteLine("Основания трапеции равны 20 и 10 см, " +

"боковые стороны - 8 и 6");

// Вычисление высоты трапеции

double p = (a - c + b + d) / 2.0;

double S_ABD = Math.Sqrt(p * (p - a + c) * (p - b) * (p - d));

double h = 2.0 * S_ABD / (a - c);

Console.WriteLine("Высота трапеции: " + h.ToString());

// Вычисление площади трапеции

double S_ABCD = (a - c) * h / 2.0;

Console.WriteLine("Площадь трапеции: " + S_ABCD.ToString());

// Вычисление левого нижнего угла трапеции (в радианах)

double sinA = h / b;

double AlphaRad = Math.Round(Math.Asin(sinA), 2);

Console.WriteLine("Левый нижний угол: " + AlphaRad.ToString() +

" (радиан)");

// Вычисление правого нижнего угла трапеции (в радианах)

double sinB = h / d;

double BetaRad = Math.Round(Math.Asin(sinB), 2);

Console.WriteLine("Правый нижний угол: " + BetaRad.ToString() +

" (радиан)");

// Вычисление левого нижнего угла трапеции (в градусах)

double AD = AlphaRad * 180 / Math.PI;

double AlphaDegree = Math.Round(AD, 2);

Console.WriteLine("Левый нижний угол: " +

AlphaDegree.ToString () + " (градусов)");

// Вычисление правого нижнего угла трапеции (в градусах)

double BD = BetaRad * 180 / Math.PI;

double BetaDegree = Math.Round(BD, 2);

Console.WriteLine("Правый нижний угол: " +

BetaDegree.ToString() + " (градусов)");

Console.ReadLine();

}

}

/* Вывод:

Высота трапеции: 4,8

Методы класса System.Random

(http://msdn.microsoft.com/ru-ru/library/system.random)

 

Таблица 2.8. Основные методы класса System.Random

Метод Описание
int Next(); Возвращает очередное псевдослучайное число. В перегруженных вариантах метода можно указывать максимальное значение генерируемых чисел или диапазон их значений
void NextBytes (byte[] buffer); Заполняет массив байтов buffer псевдослучайными значениями
double NextDouble(); Возвращает вещественное псевдослучайное число в диапазоне от 0,0 до 1,0

 

 

Пример 2.8. Создание четырех генераторов Random: два первых инициализируются текущими датой и временем, поэтому порождают разные последовательности; третий и четвертый генераторы инициализируются одинаковым целым числом и порождают одинаковые последовательности псевдослучайных чисел.

 

using System;

using System.Collections.Generic;

using System.Text;

Namespace RandomTest

{ class Program

{ static void Main()

{ Random rnd1 = new Random();

Console.Write("rnd1 = new Random():");

for (int i = 1; i <= 5; i++)

Console.Write(" " + rnd1.Next().ToString());

Console.WriteLine();

Console.Write("rnd2 = new Random():M);

Random rnd2 = new Random();

for (int i = 1; i <= 5; i++)

Console.Write(" " + rnd2.Next().ToString());

Console.WriteLine();

Random rnd3 = new Random(1);

Console.Write("rnd3 = new Random(1):");

for (int i = 1; i <= 5; i++)

Console.Write(" " + rnd3.Next().ToString());

Console.WriteLine();

Random rnd4 = new Random(1);

Console.Write(Mrnd4 = new Random(1):");

for (int i = 1; i <= 5; i++)

Console.Write(" " + rnd4.Next().ToString());

Console.WriteLine();

Console.ReadLine();

}

}

}

/* Вывод:

rnd1 = new Random(): 529133478 2040581043 712156624 1709554482 1088426986

rnd2 = new Random(): 1271129561 1192576377 581760190 1294179256 1279863097

rnd3 = new Random(1): 534011718 237820880 1002897798 1657007234 1412011072

rnd4 = new Random(1): 534011718 237820880 1002897798 1657007234 1412011072

*/

class HelloWorld // Объявление класса

{ static void Main() // Объявление метода этого класса

{ System.Console.WriteLine("Hello World!"); // Вывод сообщения

// Предотвращение закрытия окна консоли

System.Console.ReadLine();

}

}

 

2.1. Основные элементы языка C#

 

Рис.2.1. Диалоговое окно Options

 

 

Примеры идентификаторов:

 

Правильные идентификаторы: Неправильные идентификаторы:
мой_идентификатор identifier2 Subroutine @bool @static мой идентификатор // содержит пробел 2identifier // начинается цифрой bool // ключевое слово @bool2 // за символом @ нет // ключевого слова

 

IdentifierNumberOne

 

 

Переменные и константы

 

Например: DecimalNum, Total, Date_of_birth – допустимые имена переменных;

2Time, $Total, Date of birth, Write – недопустимые имена переменных.

 

Примеры объявления переменных:

 

int a, b = -3;

string greeting = "Hello, World!";

double bigNumber = 1e100;

 

Примеры объявления констант:

 

const int n = 0;

const double pi = 3.14159265358979323846264338327950;

const string productName = "Visual C#";

const double gravitationalConstant = 6.673e-11, e = 2,718281828459;

 

const int a = 5;

const int b = a + 100;

 

 

Модификаторы доступа

 

Модификаторы доступа: public, internal, protected, private.

 

Примеры использования модификаторов доступа:

 

private string productName = "Visual C#";

public const double pi = 3.14159265358979323846;

 

 


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

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

Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...

Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...

Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.286 с.