Hello World -- Your First Program
Руководство по программированию на C# Компиляция на двух языках из MSDN Visual Studio Методическое пособие для занятий по информатике на физфаке ЮФУ Фомин Г.В.
Оглавление
Оглавление. 2
C# Programming Guide. 9
Inside a C# Program.. 9
Hello World -- Your First Program.. 9
Руководство по программированию на C#. 9
Структура программы C#. 9
Hello World – Создаем первую программу. 9
General Structure of a C# Program.. 12
Общая структура программы на C#. 12
Main() and Command Line Arguments. 13
Overview. 13
Main() и аргументы командной строки. 13
Общие сведения. 13
Command-Line Arguments. 14
How to: Display Command Line Arguments. 17
Отображение аргументов командной строки. 17
How to: Access Command-Line Arguments Using foreach. 18
Доступ к аргументам командной строки с помощью оператора "foreach" 18
Main() Return Values. 19
Значения, возвращаемые методом Main() 19
Types. 21
Data Types Overview. 21
Типы. 21
Общие сведения о типах данных. 21
Casting. 22
Приведение. 22
Boxing and Unboxing. 23
Упаковка-преобразование и распаковка-преобразование. 23
How to: Convert a byte Array to an int 28
Преобразование массива байтов в значение типа "int" 28
How to: Convert a string to an int 30
Преобразование строки в значение типа "int" 30
How to: Convert Hexadecimal Strings. 32
Преобразование шестнадцатеричных строк. 32
Arrays. 34
Array Overview. 34
Массивы. 34
Общие сведения о массивах. 34
Arrays as Objects. 35
Массивы как объекты. 35
Single-Dimensional Arrays. 36
Одномерные массив. 36
Multidimensional Arrays. 37
Многомерные массивы. 37
Jagged Arrays. 38
Массивы массивов. 38
Using foreach with Arrays. 41
Использование оператора foreach с массивами. 41
|
|
Passing Arrays as Parameters. 42
Передача массивов в качестве параметров. 42
Passing Arrays Using ref and out 46
Передача массивов при помощи параметров ref и out 46
Implicitly Typed Arrays. 49
Неявно типизированные массивы. 49
Strings. 51
Using Strings. 51
Строки. 51
Использование строк. 51
How to: Parse Strings Using the Split Method. 57
Анализ строк с помощью метода разделения. 57
How to: Search Strings Using String Methods. 58
Навигация по содержимому строки с помощью строковых методов. 58
How to: Search Strings Using Regular Expressions. 59
Анализ строк с помощью регулярных выражений. 59
How to: Join Multiple Strings. 61
Объединение нескольких строк. 61
How to: Modify String Contents. 62
Изменение содержимого строки. 62
How to: Determine Whether a String Contains a Numeric Value. 63
Определение наличия числового значения в строке. 63
Encoding Base Types. 65
Базовые типы кодировки. 65
Formatting Types. 67
Formatting Overview. 67
Типы форматирования. 67
Общие сведения о форматировании. 67
Composite Formatting. 73
Составное форматирование. 73
Numeric Format Strings. 79
Строки числовых форматов. 79
.NET Framework Regular Expressions. 102
Регулярные выражения в .NET Framework. 102
Regular Expressions as a Language. 103
Регулярные выражения как язык. 103
Character Escapes. 104
Escape-знаки. 104
How to: Perform String Manipulations by Using Basic String Operations. 106
Example. 106
Выполнение действия со строками с помощью основных строковых операций 106
Пример. 106
|
|
Parsing Strings. 110
Parsing Numeric Strings. 110
Разбор строк. 110
Разбор числовых строк. 110
Statements, Expressions, and Operators. 113
Statements. 113
Операторы и выражения. 113
Операторы. 113
Expressions. 114
Выражения. 114
Operators. 116
Операторы. 116
Anonymous Functions. 121
Анонимные функции. 121
Overloadable Operators. 133
Перегружаемые операторы. 133
Conversion Operators. 134
Операторы преобразования. 134
How to: Use Operator Overloading to Create a Complex Number Class. 141
Перегрузка операторов для реализации класса комплексных чисел. 141
Guidelines for Overloading Equals() and Operator ==. 142
Правила переопределения метода Equals и оператора равенства (==) 142
Objects, Classes and Structs. 146
Overview. 146
Объекты, классы и структуры. 146
Общие сведения. 147
Члены. 147
Доступность. 147
Наследование. 148
Интерфейсы. 148
Универсальные типы. 148
Статические типы. 148
Вложенные типы. 149
Разделяемый класс. 149
Инициализаторы объектов. 149
Анонимные типы. 149
Методы расширения. 149
Неявно типизированные локальные переменные. 149
Objects. 150
Объекты. 150
Classes. 153
Классы. 153
Structs. 157
Структуры. 157
Inheritance. 161
Наследование. 161
Interfaces. 181
Интерфейсы. 181
Members. 190
Члены. 190
Methods. 191
Методы. 191
Constructors. 203
Конструкторы. 203
Fields. 224
Поля. 224
Constants. 226
Константы. 226
Nested Types. 227
Вложенные типы. 227
Access Modifiers. 228
Модификаторы доступа. 228
Partial Classes and Methods. 230
Разделяемые классы и методы. 230
|
|
Static Classes and Static Class Members. 237
Статические классы и члены статических классов. 237
How to: Know the Difference Between Passing a Struct and Passing a Class Reference to a Method 243
Определение различия между передачей структуры и ссылки класса в метод 243
Anonymous Types. 244
Анонимные типы. 244
Extension Methods. 248
Методы расширения. 248
Implicitly Typed Local Variables. 250
Неявно типизированные локальные переменные. 250
Properties. 253
Example. 253
Свойства. 253
Пример. 253
Output 254
Properties Overview. 254
Результат 254
Общие сведения о свойствах. 254
Using Properties. 255
Использование свойств. 255
Interface Properties. 266
Свойства интерфейса. 266
Asymmetric Accessor Accessibility. 269
Асимметричные методы доступа. 269
How to: Declare and Use Read/Write Properties. 275
Объявление и использование свойств чтения и записи. 275
Auto-Implemented Properties. 278
Автоматически реализуемые свойства. 278
How to: Implement a Lightweight Class with Auto-Implemented Properties. 279
Реализация облегченного класса с автоматически реализуемыми свойствами 279
Indexers. 280
Indexers Overview. 280
Индексаторы. 280
Общие сведения об индексаторах. 280
Using Indexers. 281
Использование индексаторов. 281
Indexers in Interfaces. 286
Индексаторы в интерфейсах. 286
Comparison Between Properties and Indexers. 289
Сравнение свойств и индексаторов. 289
Delegates. 290
Delegates Overview. 290
Делегаты. 290
Общие сведения о делегатах. 290
Using Delegates. 291
|
|
Использование делегатов. 291
Delegates with Named vs. Anonymous Methods. 295
Делегаты с именованными методами и делегаты с анонимными методами. 295
When to Use Delegates Instead of Interfaces. 298
Использование делегатов вместо интерфейсов. 298
Covariance and Contravariance in Delegates. 299
Ковариация и контрвариация в делегатах. 299
How to: Combine Delegates (Multicast Delegates) 301
Объединение делегатов (многоадресные делегаты) 301
How to: Declare, Instantiate, and Use a Delegate. 302
Объявление, создание экземпляра и использование делегата. 302
Events. 306
Events Overview. 306
События. 306
Общие сведения о событиях. 306
How to: Subscribe to and Unsubscribe from Events. 307
Подписка и отмена подписки на события. 307
How to: Publish Events that Conform to .NET Framework Guidelines. 310
Публикация событий, соответствующих рекомендациям .NET Framework. 310
How to: Raise Base Class Events in Derived Classes. 314
Создание событий базового класса в производных классах. 314
How to: Raise and Consume Events. 320
Вызов и прием событий. 320
How to: Implement Interface Events. 326
Реализация событий интерфейса. 326
How to: Use a Dictionary to Store Event Instances. 331
Использование словаря для хранения экземпляров событий. 331
Generics. 333
Generics Overview. 333
Универсальные шаблоны. 333
Общие сведения об универсальных шаблонах. 333
Introduction to Generics. 334
Введение в универсальные шаблоны. 334
Benefits of Generics. 337
Преимущества универсальных шаблонов. 337
Generic Type Parameters. 339
Параметры универсального типа. 339
Namespaces. 340
Namespaces Overview. 340
Пространства имен. 340
Общие сведения о пространствах имен. 340
Using Namespaces. 341
Использование пространств имен. 341
How to: Use the Namespace Alias Qualifier 345
Использование квалификатора псевдонима пространства имен. 345
Nullable Types. 347
Типы, допускающие значения null 347
Nullable Types Overview. 348
Общие сведения о типах, допускающих значения null 348
Using Nullable Types. 349
Использование типов, допускающих значение null 349
How to: Identify a Nullable Type. 355
Идентификация типа, допускающего значение null 355
Unsafe Code and Pointers. 356
Unsafe Code Overview. 356
Небезопасный код и указатели. 356
Общие сведения о небезопасном коде. 356
Fixed Size Buffers. 357
Буферы фиксированного размера. 357
Pointer types. 359
Типы указателей. 359
XML Documentation Comments. 372
Recommended Tags for Documentation Comments. 372
Комментарии XML-документации. 372
Рекомендуемые теги для комментариев документации. 372
How to: Use the XML Documentation Features. 373
Использование XML-документации. 373
Application Domains. 377
Application Domains Overview. 377
Домены приложений. 377
Общие сведения о доменах приложений. 377
Executing Code in Another Application Domain. 378
Выполнение кода в другом домене приложения. 378
Assemblies and the Global Assembly Cache. 380
Assemblies Overview. 380
Сборки и глобальный кэш сборок. 380
Общие сведения о сборках. 380
Attributes. 381
Attribute Overview. 381
Атрибуты. 381
Общие сведения об атрибутах. 381
Using Attributes. 382
Использование атрибутов. 382
How to: Create a C/C++ Union Using Attributes. 383
Создание объединения C/C++ с помощью атрибутов. 383
Common Attributes. 384
Общие атрибуты. 384
Exceptions and Exception Handling. 388
Исключения и обработка исключений. 388
Exceptions Overview. 389
Общие сведения об исключениях. 389
Using Exceptions. 390
Использование исключений. 390
Exception Handling. 393
Обработка исключений. 393
Creating and Throwing Exceptions. 396
Создание и генерация исключений. 396
Compiler-Generated Exceptions. 399
Исключения, создаваемые компилятором. 399
How to: Handle an Exception Using try/catch. 400
Обработка исключений с помощью блока try-catch. 400
How to: Execute Cleanup Code Using finally. 401
Выполнение кода очистки с использованием блока finally. 401
Interoperability. 403
How to: Use Platform Invoke to Play a Wave File. 403
Взаимодействие. 403
Использование вызова неуправляемого кода для воспроизведения звукового файла 403
PlaySound. 406
Threading. 409
Threading. 409
Overview. 409
Создание потоков. 409
Общие сведения. 409
Using Threading. 410
Использование потоков. 410
Thread Synchronization. 411
Синхронизация потоков. 411
How to: Create and Terminate Threads. 416
Создание и завершение потоков. 416
How to: Synchronize a Producer and a Consumer Thread. 420
Синхронизация потока-производителя и потока-потребителя. 420
How to: Use a Thread Pool 429
Использование пула потоков. 429
Reflection. 433
Reflection Overview. 433
Отражение. 433
Общие сведения об отражении. 433
C# DLLs. 434
How to: Create and Use C# DLLs. 434
Библиотеки C#. 434
Создание и использование библиотек DLL на языке C#. 434
Security. 437
C# Specific Security Recommendations. 437
Безопасность. 437
Рекомендации по безопасности, касающиеся языка C# в отдельности. 437
Consuming Unmanaged DLL Functions. 438
To consume exported DLL functions. 438
Использование неуправляемых функций DLL. 438
Применение экспортированных функций DLL. 438
A Closer Look at Platform Invoke. 439
Подробный обзор вызова неуправляемого кода. 439
Identifying Functions in DLLs. 440
Идентификация функций в библиотеках DLL. 440
Creating a Class to Hold DLL Functions. 441
Создание класса, содержащего функции DLL. 441
Creating Prototypes in Managed Code. 442
Declaration Basics. 442
Создание прототипов в управляемом коде. 442
Основы описания. 442
Adjusting the Definition. 443
Настройка описания. 443
Specifying an Entry Point 444
Задание точки входа. 444
Calling a DLL Function. 445
Passing Structures. 445
Вызов функции DLL. 445
Передача структур. 445
File and Stream I/O. 448
Basic File I/O. 448
Файловый и потоковый ввод-вывод. 448
Основы файлового ввода-вывода. 448
Classes Used for File I/O. 449
Классы, используемые в файловом вводе и выводе. 449
Classes Used for Reading from and Writing to Streams. 450
Классы, используемые для чтения и записи в поток. 450
Common I/O Stream Classes. 451
I/O and Security. 451
Общие классы потокового ввода и вывода. 451
Ввод-вывод и безопасность. 451
How to: Create a Directory Listing. 452
Создание списка каталогов. 452
How to: Read and Write to a Newly Created Data File. 454
Считывание из нового файла данных и запись в этот файл. 454
How to: Copy Directories. 455
Копирование каталогов. 455
How to: Open and Append to a Log File. 456
Открытие файла журнала и добавление в него данных. 456
How to: Write Text to a File. 457
Запись текста в файл. 457
How to: Read Text from a File. 458
Считывание текста из файла. 458
How to: Read Characters from a String. 460
Считывание символов из строки. 460
How to: Write Characters to a String. 461
Запись символов в строку. 461
How to: Add or Remove Access Control List Entries. 462
Добавление или удаление записей списка управления доступом. 462
How to: Compress Files. 465
Сжатие файлов. 465
Composing Streams. 467
Создание потоков. 467
Creating a Writer 469
Создание класса Writer 469
Collections and Data Structures. 470
Коллекции и структуры данных. 470
Defining Collections. 471
Определение коллекций. 471
Selecting a Collection Class. 473
Выбор класса коллекции. 473
Introduction to Solutions, Projects, and Items. 475
Containers: Solutions and Projects. 475
Items: Files, References, Data Connections. 475
Знакомство с решениями, проектами и элементами. 475
Контейнеры: проекты и решения. 475
Элементы: файлы, ссылки, подключения к данным. 475
Solutions as Containers. 476
Решения как контейнеры. 476
Solutions. 477
Решения. 477
Projects as Containers. 478
Проекты как контейнеры. 478
Using the Visual C# IDE. 481
Introduction to the IDE. 481
Использование интегрированной среды разработки Visual C#. 481
Введение в интегрированную среду разработки. 481
Visual C# Tools. 482
Средства Visual C#. 482
Доступ к средствам в интегрированной среде разработки. 483
Solution Explorer and Project Designer 484
Настройка интегрированной среды разработки. 484
Creating a Project 485
Creating a New Project 485
Создание проекта. 485
Создание нового проекта. 485
What's in Your Project?. 488
Состав проекта. 488
Modifying Project Properties. 490
Изменение свойств проекта. 490
Designing a User Interface. 494
Adding Controls. 494
Создание пользовательского интерфейса. 494
Добавление элементов управления. 494
Setting Properties. 496
Handling Events. 496
Задание свойств. 496
Обработка событий. 496
Editing Code. 497
IntelliSense. 497
Редактирование кода. 497
IntelliSense. 497
Refactoring. 500
Code Snippets. 500
Wavy underlines. 500
Оптимизация кода. 500
Фрагменты кода. 500
Подчеркивание волнистой линией. 500
Readability Aids. 501
Средства обеспечения удобочитаемости кода. 501
Navigating and Searching. 502
Class View. 502
Навигация и поиск. 502
Представление классов. 502
CTRL-TAB Navigation. 503
Навигация CTRL-TAB. 503
Navigation Bars. 504
Панели переходов. 504
Find in Files. 505
Object Browser 505
Navigation Stacks. 505
Поиск в файлах. 505
Обозреватель объектов. 505
Стеки навигации. 505
Building and Debugging. 506
Build Settings. 506
Build Errors. 506
Построение и отладка. 506
Параметры построения. 506
Ошибки построения. 506
Release vs. Debug configurations. 508
Debugging. 508
Сравнение отладочной и выпускной конфигураций. 508
Отладка. 508
Modeling and Analyzing Code. 511
Class Designer 511
Моделирование и анализ кода. 511
Конструктор классов. 511
Object Browser 513
Обозреватель объектов. 513
Metadata as Source: 514
Code Analysis for Managed Code. 514
Метаданные как источник. 514
Анализ управляемого кода. 514
Adding and Editing Resources. 515
Adding Resources to Projects. 515
Добавление и редактирование ресурсов. 515
Добавление ресурсов в проекты. 515
Editing Resources. 516
Редактирование ресурсов. 516
Compiling Resources into Assemblies. 517
Accessing Resources at Run-Time. 517
Компиляция ресурсов в сборки. 517
Доступ к ресурсам во время выполнения. 517
Getting Help. 518
Online vs. Local Help. 518
Получение справки. 518
Локальная справка и справка в Интернете. 518
F1 Search. 519
Search. 519
Поиск по F1. 519
Поиск. 519
Index. 520
Table of Contents. 520
Указатель. 520
Содержание. 520
How Do I 521
Dynamic Help. 521
Samples. 521
Инструкции. 521
Динамическая справка. 521
Примеры. 521
Refactoring. 522
Multi-Project Refactoring. 522
Preview Changes Dialog Box. 522
Error-Tolerant Refactoring. 522
Оптимизация. 522
Многопроектная оптимизация. 522
Диалоговое окно "Предварительный просмотр изменений" 522
Допускающая наличие ошибок оптимизация. 522
Extract Method. 523
Извлечение метода. 523
Rename. 525
Переименовать. 525
Promote Local Variable to Parameter 528
Превращение локальной переменной в параметр. 528
Заметки. 529
Code Colorization. 531
Tokens. 531
Разметка кода цветом. 531
Лексемы. 531
Contextual Keywords. 532
Brace Matching Colorization. 532
Bold Colorization. 532
Контекстные ключевые слова. 532
Разметка цветом для обозначения парности фигурных скобок. 532
Разметка цветом и жирным шрифтом. 532
Highlight Colorization. 533
Разметка цветом и выделение цветным фоном. 533
C# Programming Guide
This section provides detailed information on key C# language features and features accessible to C# through the .NET Framework.
Inside a C# Program
The section discusses the general structure of a C# program, and includes the standard "Hello, World!" example.
Hello World -- Your First Program
The following console program is the C# version of the traditional "Hello World!" program, which displays the string Hello World!.
using System; // A "Hello World!" program in C# namespace HelloWorld { class Hello { static void Main() { System.Console.WriteLine("Hello World!"); } } } |
Let us now examine the important parts of this program in turn.
Comments
The first line contains a comment:
// A "Hello World!" program in C# |
The characters // convert the rest of the line to a comment. You can also comment a block of text by enclosing it between the /* and */ characters, for example:
/* A "Hello World!" program in C#. This program displays the string "Hello World!" on the screen. */ |
Руководство по программированию на C#
В этом разделе представлены подробные сведения об основных возможностях языка C#, а также о функциях, доступных в этом языке благодаря платформе .NET Framework.
Структура программы C#
В данном разделе рассматривается общая структура программы C# и приведен стандартный пример "Здравствуй, мир!".
Дата добавления: 2019-03-09; просмотров: 244; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!