
- •2. Основы языка c#
- •2.1. Основные элементы языка c#
- •2.1.1. Переменные и константы
- •2.1.2. Модификаторы доступа
- •2.1.3. Присваивание значений переменным
- •2.2. Типы данных
- •2.2.1. Значащие и ссылочные типы
- •2.2.2. Таблица типов данных
- •2.2.3. Приведение и преобразование типов
- •2.2.4. Совместимость типов
- •2.2.5. Методы преобразования типа
- •2.3. Общая структура программы на c#
- •Interface iYourInterface // определение интерфейса
- •2.3.1. Метод Main() и аргументы командной строки
- •2.3.2. Пространства имен
- •2.4. Выражения и операции
- •2.7. Методы класса System.Match
- •2.8. Методы класса System.Random
2. Основы языка c#
Пример 2.1. Вывод на экран сообщения "Hello World!".
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
2.1.1. Переменные и константы
Например: 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;
2.1.2. Модификаторы доступа
Модификаторы доступа: public , internal , protected , private .
Примеры использования модификаторов доступа:
private string productName = "Visual C#";
public const double pi = 3.14159265358979323846;
2.1.3. Присваивание значений переменным
Синтаксис использования оператора присваивания "=": переменная = выражение;
Например:
sngFirst = 10; strLastName = "Иванов";
Result = First + 255; strName = "Иванов" + ": " + strTeam; |
Рис.2.2. Алгоритмическая конструкция «Процесс»
|
2.2. Типы данных
(http://msdn.microsoft.com/ru-ru/library/ms173104.aspx)
(http://msdn.microsoft.com/ru-ru/library/3ewxz6et.aspx)
2.2.1. Значащие и ссылочные типы
Пример 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
*/