- •Основы c#. Урок 1. Что такое c#?
- •Основы c#. Урок 2. Что такое net Runtime?
- •Основы c#. Урок 3. Первая программа на c#
- •Основы c#. Урок 4. Переменные языка c#
- •Основы c#. Урок 5. Логические операторы
- •Основы c#. Урок 6. Массивы в c#
- •Основы c#. Урок 7. Операторы if и switch
- •Основы c#. Урок 8. Циклы for и foreach
- •Основы c#. Урок 9. Цикл while
- •Основы c#. Урок 10. Классы в c#
- •Основы c#. Урок 11. Конструкторы классов
- •Основы c#. Урок 12. Наследование
- •Основы c#. Урок 13. Запись в экземпляр базового класса экземпляра производного
- •Основы c#. Урок 14. Вложенные классы
- •Основы c#. Урок 15. Перегрузка бинарных операторов
- •Основы c#. Урок 16. Перегрузка унарных операторов
- •Основы c#. Урок 17. Область видимости
- •Основы c#. Урок 18. Виртуальные функции
- •Основы c#. Урок 19. Абстрактные классы
- •Основы c#. Урок 20. Запрещение наследования или модификатор sealed
- •Основы c#. Урок 21. Статические переменные
- •Основы c#. Урок 22. Статические методы класса
- •Основы c#. Урок 23. Статические конструкторы
- •Основы c#. Урок 24. Закрытые конструкторы или классы без экземпляров
- •Основы c#. Урок 25. Передача параметров переменой длины
- •Основы c#. Урок 26. Строки (класс System.String)
- •Основы c#. Урок 27. Строки (класс StringBuilder)
- •Основы c#. Урок 28. Передача параметров по ссылке и по значению (ref и out)
- •Основы c#. Урок 29. Пример передачи по ссылке
- •Основы c#. Урок 30. Перегрузка
- •Основы c#. Урок 31. Функции класса System.Array
- •Основы c#. Урок 33. События
- •Основы c#. Урок 35. Введение в атрибуты
- •Основы c#. Урок 36. Пример пользовательского атрибута.
- •Основы c#. Урок 37. Параметры командной строки
- •Основы c#. Урок 38. Метод Main в отдельном классе
- •Основы c#. Урок 39. Форматированный вывод
- •Основы c#. Урок 40. Класс System.Object
- •Основы c#. Урок 41. Методы класса System.Object
- •Основы c#. Урок 42. Переопределяем методы класса System.Object
- •Основы c#. Урок 43. Константы
- •Основы c#. Урок 44. Модификаторы доступа
- •Основы c#. Урок 45. Ссылка на текущий экземпляр класса (this)
- •Основы c#. Урок 47. Работаем со специальными папками
- •Основы c#. Урок 48. Получаем список всех дисков
- •Основы c#. Урок 49. Ввод/вывод в c# (System.Io)
- •Основы c#. Урок 50. Классы для работы с папками и файлами
- •Основы c#. Урок 51. Класс Directory
- •Основы c# Урок 52. Класс File
- •Основы c# Урок 53. Класс FileSystemInfo
- •Основы c# Урок 54. Класс DirectoryInfo
- •Основы c# Урок 55. Перечисление FileAttributes
- •Основы c# Урок 56. Класс FileInfo
- •Основы c# Урок 57. Пример: получение имен всех подпапок
Основы c#. Урок 37. Параметры командной строки
Параметры командной строки передаются, естественно, в методе Main. В отличие от некоторых языков программирования (C/C++) параметр только один - это массив передаваемых параметров. Аналога первого параметра языка C/C++ (количества параметров) нет. Передаются параметры в виде массива строк.
Вот пример прораммы, выводящий на экран все передаваемые в нее параметры командной строки и их количество:
usingSystem;
namespacetest
{
classTest
{
//Передаем в Main параметры командной строки.
static void Main(string[] args)
{
//Выводим количество параметров.
Console.WriteLine(args.GetLength(0));
//Выводим каждый параметр.
foreach (string s in args)
{
Console.WriteLine(s);
}
}
}
}
Обратите внимание, что в сам exe-файл не считается параметром (как в C/C++).
Основы c#. Урок 38. Метод Main в отдельном классе
До этого мы в большинстве случае помещали метод Main в тот же класс, который испытывали:
usingSystem;
namespacetest
{
classTest
{
//... (поля, методы, ... класса)
static void Main()
{
//...
}
}
}
Но для больших, настояших программ это не самый лучший способ. Гораздо лучше вынести метод Main в отдельный класс:
usingSystem;
namespacetest
{
class Test
{
//... (поля, методы, ... класса Test)
}
//Класс приложения для вызова метода Main.
class App
{
static void Main()
{
//Создаем экземпляр класса Test.
Test c = new Test();
//...
}
}
}
Вообще говоря в программе у вас, как правило, будет много классов. И лучше каждый из них хранить в отельном файле (с расширением *.cs).
Основы c#. Урок 39. Форматированный вывод
Для вывода на консоль мы использовали следующую конструкцию:
...
intx=23, y=-4;
...
Console.WriteLine("x={0}, y={1}", x, y);
...
Здесь мы используем внутри кавычек подстановочные знаки {0}, {1} и т. д. (нумерация в них идет с нуля). Переменные при этом выводятся в формате по умолчанию. Для вывода в определеном формате надо использовать подстановочные знаки с параметрами. Вот некоторые их них:
d - десятичный формат. Позволяет задать общее количество знаков (при необходимости число дополняется слева нулями).
f - формат с фиксированной точностью. Позволяет задать количество знаков после запятой.
x - шестнадцатеричный формат.
c - денежный формат (добавляет знак доллара и показывает два знака после запятой).
e - вывод числа в экспоненциальной форме.
А вот пример их использования:
...
int a=38;
//Выведется 0038
Console.WriteLine("a={0:d4}", a);
double pi=3.1415926;
//Выведется 3.14
Console.WriteLine("pi={0:f2}", pi);
intb=255;
//Выведется FF.
Console.WriteLine("b={0:X}", b);
intc=255;
//Выведется ff.
Console.WriteLine("c={0:x}", c);
doubled=1003.214;
//Выведется $1, 003.14 в английской версии Windows и
//1 003,14 р. в русской.
Console.WriteLine("d={0:c}", d);
double e=213.1;
//Выведется 2.131000e+002
Console.WriteLine("e={0:e}", e);
...
Параметры подстановочных знаков можно использовать как строчные, таки и прописные - это все равно. Исключение - вывод числа в шестнадцатеричном виде (при использовании h цифры a, ..., f будут строчными, при использовании H - прописными).