Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«C# 4.0: ΠΏΠΎΠ»Π½ΠΎΠ΅ руководство». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 8

Автор Π“Π΅Ρ€Π±Π΅Ρ€Ρ‚ Π¨ΠΈΠ»Π΄Ρ‚

using System;


Π­Ρ‚Π° строка ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ пространство ΠΈΠΌΠ΅Π½ System. Π’ C# пространство ΠΈΠΌΠ΅Π½ опрСдСляСт ΠΎΠ±Π»Π°ΡΡ‚ΡŒ объявлСний. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎ пространствС ΠΈΠΌΠ΅Π½ Ρ€Π΅Ρ‡ΡŒ ΠΏΠΎΠΉΠ΄Π΅Ρ‚ Π΄Π°Π»Π΅Π΅ Π² этой ΠΊΠ½ΠΈΠ³Π΅, Π° Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€ поясним Π²ΠΊΡ€Π°Ρ‚Ρ†Π΅ Π΅Π³ΠΎ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Благодаря пространству ΠΈΠΌΠ΅Π½ ΠΎΠ΄Π½ΠΎ мноТСство ΠΈΠΌΠ΅Π½ отдСляСтся ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ…. По сущСству, ΠΈΠΌΠ΅Π½Π°, ΠΎΠ±ΡŠΡΠ²Π»ΡΠ΅ΠΌΡ‹Π΅ Π² ΠΎΠ΄Π½ΠΎΠΌ пространствС ΠΈΠΌΠ΅Π½, Π½Π΅ Π²ΡΡ‚ΡƒΠΏΠ°ΡŽΡ‚ Π² ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ с ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ, ΠΎΠ±ΡŠΡΠ²Π»ΡΠ΅ΠΌΡ‹ΠΌΠΈ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ пространствС ΠΈΠΌΠ΅Π½. Π’ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ пространство ΠΈΠΌΠ΅Π½ System, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ для элСмСнтов, связанных с Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ классов срСды .NET Framework, примСняСмой Π² Π‘#. ΠšΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово using просто констатируСт Ρ‚ΠΎΡ‚ Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΈΠΌΠ΅Π½Π° Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΌ пространствС ΠΈΠΌΠ΅Π½. (ΠŸΠΎΠΏΡƒΡ‚Π½ΠΎ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΠΌ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° вСсьма Π»ΡŽΠ±ΠΎΠΏΡ‹Ρ‚Π½ΡƒΡŽ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ собствСнныС пространства ΠΈΠΌΠ΅Π½, Ρ‡Ρ‚ΠΎ особСнно ΠΏΠΎΠ»Π΅Π·Π½ΠΎ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π°Π΄ ΠΊΡ€ΡƒΠΏΠ½Ρ‹ΠΌΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ.)

ΠŸΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ строкС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.


class Example {


Π’ этой строкС ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово class слуТит для объявлСния вновь опрСдСляСмого класса. Как ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΎΡΡŒ Π²Ρ‹ΡˆΠ΅, класс являСтся основной Π΅Π΄ΠΈΠ½ΠΈΡ†Π΅ΠΉ инкапсуляции Π² Π‘#, a Example β€” это имя класса. ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ класса начинаСтся с ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ„ΠΈΠ³ΡƒΡ€Π½ΠΎΠΉ скобки ({) ΠΈ оканчиваСтся Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ„ΠΈΠ³ΡƒΡ€Π½ΠΎΠΉ скобкой (}). Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹, Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Π΅ Π² эти Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Π΅ скобки, ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ‡Π»Π΅Π½Π°ΠΌΠΈ класса. НС вдаваясь ΠΏΠΎΠΊΠ° Ρ‡Ρ‚ΠΎ Π² подробности, достаточно ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π² C# большая Ρ‡Π°ΡΡ‚ΡŒ дСйствий, выполняСмых Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅, происходит ΠΈΠΌΠ΅Π½Π½ΠΎ Π² классС.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ строка ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ содСрТит однострочный ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ.


// Π›ΡŽΠ±Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° C# начинаСтся с Π²Ρ‹Π·ΠΎΠ²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Main().


Π­Ρ‚ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΡΡ‚ΠΈΠ»ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π², ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… Π² Π‘#. ΠžΠ΄Π½ΠΎΡΡ‚Ρ€ΠΎΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ начинаСтся ΠΈ оканчиваСтся символами //. НСсмотря Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠ΅ стилСй ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π², программисты Π½Π΅Ρ€Π΅Π΄ΠΊΠΎ ΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ многострочными коммСнтариями для Π±ΠΎΠ»Π΅Π΅ Π΄Π»ΠΈΠ½Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠΉ ΠΈ однострочными коммСнтариями для ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΡ…, построчных ΠΏΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠΉ ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. (Π’Ρ€Π΅Ρ‚ΠΈΠΉ ΡΡ‚ΠΈΠ»ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π², ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… Π² Π‘#, примСняСтся ΠΏΡ€ΠΈ создании Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΈ описываСтся Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ А.)

ΠŸΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ ΠΊ Π°Π½Π°Π»ΠΈΠ·Ρƒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ строки ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.


static void Main() {


Π­Ρ‚Π° строка начинаСтся с ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Main(). Как ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΎΡΡŒ Π²Ρ‹ΡˆΠ΅, Π² C# ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° называСтся ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ. И, ΠΊΠ°ΠΊ поясняСтся Π² ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ, ΠΈΠΌΠ΅Π½Π½ΠΎ с этой строки начинаСтся Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ всСх ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ C# начинаСтся с Π²Ρ‹Π·ΠΎΠ²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Main(). Π Π°Π·Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта Π΄Π°Π½Π½ΠΎΠΉ строки ΠΏΠΎΠΊΠ° Ρ‡Ρ‚ΠΎ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ смысла, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ для этого Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ ряд Π΄Ρ€ΡƒΠ³ΠΈΡ… срСдств Π‘#. Но ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ данная строка ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… Π² этой ΠΊΠ½ΠΈΠ³Π΅, Ρ‚ΠΎ ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ Π΅Π΅ Π²ΠΊΡ€Π°Ρ‚Ρ†Π΅.

Данная строка начинаСтся с ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова static. ΠœΠ΅Ρ‚ΠΎΠ΄, опрСдСляСмый ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ словом static, ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π΄ΠΎ создания ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π΅Π³ΠΎ класса. ΠΠ΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Π² этом ΠΎΠ±ΡŠΡΡΠ½ΡΠ΅Ρ‚ΡΡ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ Main() вызываСтся ΠΏΡ€ΠΈ запускС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ΠšΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово void ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ Main() Π½Π΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Π’ дальнСйшСм Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ значСния. ΠŸΡƒΡΡ‚Ρ‹Π΅ ΠΊΡ€ΡƒΠ³Π»Ρ‹Π΅ скобки послС ΠΈΠΌΠ΅Π½ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Main ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ этому ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ Π½Π΅ пСрСдаСтся Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. ВСорСтичСски ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ Main() ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, Π½ΠΎ Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ этого Π½Π΅ дСлаСтся. И послСдним элСмСнтом Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ строки являСтся символ {, ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‰ΠΈΠΉ Π½Π°Ρ‡Π°Π»ΠΎ Ρ‚Π΅Π»Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Main(). Π’Π΅ΡΡŒ ΠΊΠΎΠ΄, ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ Ρ‚Π΅Π»ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°, находится ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΌΠΈ ΠΈ Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΌΠΈ Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹ΠΌΠΈ скобками.

Рассмотрим ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ строку ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° находится Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Main().


Console.WriteLine("ΠŸΡ€ΠΎΡΡ‚Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° Π‘#.");


Π’ этой строкС осущСствляСтся Π²Ρ‹Π²ΠΎΠ΄ Π½Π° экран тСкстовой строки "ΠŸΡ€ΠΎΡΡ‚Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° C#. Π‘Π°ΠΌ Π²Ρ‹Π²ΠΎΠ΄ выполняСтся встроСнным ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ WriteLine(). Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ WriteLine() Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π½Π° экран строку, которая Π΅ΠΌΡƒ пСрСдаСтся. Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ, пСрСдаваСмая ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ, называСтся Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ. Помимо тСкстовых строк, ΠΌΠ΅Ρ‚ΠΎΠ΄ WriteLine() позволяСт Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π° экран Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π²ΠΈΠ΄Ρ‹ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. АнализируСмая строка начинаСтся с Console β€” ΠΈΠΌΠ΅Π½ΠΈ ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ класса, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰Π΅Π³ΠΎ Π²Π²ΠΎΠ΄-Π²Ρ‹Π²ΠΎΠ΄ Π½Π° консоль. Π‘ΠΎΡ‡Π΅Ρ‚Π°Π½ΠΈΠ΅ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Console ΠΈ WriteLine() ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ компилятору Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ WriteLine() являСтся Ρ‡Π»Π΅Π½ΠΎΠΌ класса Console. ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² C# ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° для опрСдСлСния Π²Ρ‹Π²ΠΎΠ΄Π° Π½Π° консоль слуТит Π΅Ρ‰Π΅ ΠΎΠ΄Π½ΠΈΠΌ ΡΠ²ΠΈΠ΄Π΅Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π° этого языка программирования.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€, содСрТащий Π²Ρ‹Π·ΠΎΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄Π° WriteLine(), оканчиваСтся Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ с запятой, ΠΊΠ°ΠΊ, Π²ΠΏΡ€ΠΎΡ‡Π΅ΠΌ, ΠΈ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Π²ΡˆΠ°ΡΡΡ Ρ€Π°Π½Π΅Π΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° using System. Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Π² C# ΠΎΠΊΠ°Π½Ρ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ с запятой. Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΈΠ· этого ΠΏΡ€Π°Π²ΠΈΠ»Π° слуТат Π±Π»ΠΎΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ символом { ΠΈ ΠΎΠΊΠ°Π½Ρ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ символом }. ИмСнно поэтому строки ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с этими символами Π½Π΅ ΠΎΠΊΠ°Π½Ρ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ с запятой. Π‘Π»ΠΎΠΊΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ группирования ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΈ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π΄Π°Π»Π΅Π΅ Π² этой Π³Π»Π°Π²Π΅.

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ символ } Π² Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Main(), Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ β€” ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ класса Example.

И Π½Π°ΠΊΠΎΠ½Π΅Ρ†, Π² C# Ρ€Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ прописныС ΠΈ строчныС Π±ΡƒΠΊΠ²Ρ‹. НСсоблюдСниС этого ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹ΠΌ ослоТнСниям. Π’Π°ΠΊ, Ссли Π²Ρ‹ Π½Π΅ΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΎ Π½Π°Π±Π΅Ρ€Π΅Ρ‚Π΅ main вмСсто Main ΠΈΠ»ΠΈ ΠΆΠ΅ writeline вмСсто WriteLine, анализируСмая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° окаТСтся ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½ΠΎΠΉ. Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, компилятор C# Π½Π΅ прСдоставит Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ классы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ содСрТат ΠΌΠ΅Ρ‚ΠΎΠ΄ Main(), хотя ΠΈ скомпилируСт ΠΈΡ…. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Ссли Π²Ρ‹ Π½Π΅Π²Π΅Ρ€Π½ΠΎ Π½Π°Π±Π΅Ρ€Π΅Ρ‚Π΅ имя ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Main, Ρ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ ΠΎΡ‚ компилятора сообщСниС ΠΎΠ± ошибкС, ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»ΡΡŽΡ‰Π΅Π΅ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π² исполняСмом Ρ„Π°ΠΉΠ»Π΅ Example.Π΅Ρ…Π΅ Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° Ρ‚ΠΎΡ‡ΠΊΠ° Π²Ρ…ΠΎΠ΄Π°.


ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° синтаксичСских ошибок

Если Π²Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚Π΅ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, Ρ‚ΠΎ Π²Π°ΠΌ слСдуСт Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΈΡΡ‚ΠΎΠ»ΠΊΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ (ΠΈ Ρ€Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π°) ошибки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΡΠ²ΠΈΡ‚ΡŒΡΡ ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ошибок компиляции Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΎΠΏΠ΅Ρ‡Π°Ρ‚ΠΎΠΊ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ исходного тСкста ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ВсС программисты Ρ€Π°Π½ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠ·Π΄Π½ΠΎ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ²Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ Π½Π°Π±ΠΎΡ€Π΅ исходного тСкста ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΎΡ‡Π΅Π½ΡŒ Π»Π΅Π³ΠΊΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΡƒ. ΠŸΡ€Π°Π²Π΄Π°, Ссли Π²Ρ‹ Π½Π°Π±Π΅Ρ€Π΅Ρ‚Π΅ Ρ‡Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, компилятор выдаст ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ сообщСниС ΠΎ синтаксичСской ошибкС ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Π°ΡˆΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ. Π’ Ρ‚Π°ΠΊΠΎΠΌ сообщСнии ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ указываСтся Π½ΠΎΠΌΠ΅Ρ€ строки исходного тСкста ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π³Π΄Π΅ Π±Ρ‹Π»Π° ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½Π° ошибка, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΡ€Π°Ρ‚ΠΊΠΎ описываСтся Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ ошибки.

НСсмотря Π½Π° всю ΠΏΠΎΠ»Π΅Π·Π½ΠΎΡΡ‚ΡŒ сообщСний ΠΎ синтаксичСских ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ…, Π²Ρ‹Π΄Π°Π²Π°Π΅ΠΌΡ‹Ρ… компилятором, ΠΎΠ½ΠΈ ΠΈΠ½ΠΎΠ³Π΄Π° вводят Π² Π·Π°Π±Π»ΡƒΠΆΠ΄Π΅Π½ΠΈΠ΅. Π’Π΅Π΄ΡŒ компилятор C# пытаСтся ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ смысл ΠΈΠ· исходного тСкста, ΠΊΠ°ΠΊ Π±Ρ‹ ΠΎΠ½ Π½ΠΈ Π±Ρ‹Π» Π½Π°Π±Ρ€Π°Π½. ИмСнно ΠΏΠΎ этой ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ ошибка, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ сообщаСт компилятор, Π½Π΅ всСгда ΠΎΡ‚Ρ€Π°ΠΆΠ°Π΅Ρ‚ Π½Π°ΡΡ‚ΠΎΡΡ‰ΡƒΡŽ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρƒ возникшСго затруднСния. ΠΠ΅ΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½Ρ‹ΠΉ пропуск ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ„ΠΈΠ³ΡƒΡ€Π½ΠΎΠΉ скобки послС ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Main() Π² рассмотрСнном Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ появлСнию ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ Π½ΠΈΠΆΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ сообщСний ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ… ΠΏΡ€ΠΈ компиляции Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ компилятором ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки сsc. (АналогичныС ошибки ΠΏΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ компиляции Π² ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ срСдС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Visual Studio.)


EX1.CS (12,21): ошибка CS1002: ; оТидалось

EX1.CS(13,22): ошибка CS1519: НСдопустимая лСксСма '(' Π²

объявлСнии Ρ‡Π»Π΅Π½Π° класса, структуры ΠΈΠ»ΠΈ интСрфСйса

EX1.CS(15,1): ошибка CS1022: ВрСбуСтся ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ°

ΠΈΠ»ΠΈ пространства ΠΈΠΌΠ΅Π½ Π»ΠΈΠ±ΠΎ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ ΠΊΠΎΠ½Ρ†Π° Ρ„Π°ΠΉΠ»Π°


ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ сообщСниС ΠΎΠ± ошибкС нСльзя ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π²Π΅Ρ€Π½Ρ‹ΠΌ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΏΡ€ΠΎΠΏΡƒΡ‰Π΅Π½Π° Π½Π΅ Ρ‚ΠΎΡ‡ΠΊΠ° с запятой, Π° фигурная скобка. Π”Π²Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… сообщСния ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ… вносят Ρ‚Π°ΠΊΡƒΡŽ ΠΆΠ΅ ΠΏΡƒΡ‚Π°Π½ΠΈΡ†Ρƒ.

Из всСго ΠΈΠ·Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ Π²Ρ‹ΡˆΠ΅ слСдуСт, Ρ‡Ρ‚ΠΎ Ссли ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° содСрТит ΡΠΈΠ½Ρ‚Π°ΠΊΡΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΎΡˆΠΈΠ±ΠΊΡƒ, Ρ‚ΠΎ сообщСния компилятора Π½Π΅ слСдуСт ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π±ΡƒΠΊΠ²Π°Π»ΡŒΠ½ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ввСсти Π² Π·Π°Π±Π»ΡƒΠΆΠ΄Π΅Π½ΠΈΠ΅. Для выявлСния истинной ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹ ошибки ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ критичСский пСрСсмотр сообщСния ΠΎΠ± ошибкС. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ нСсколько строк ΠΊΠΎΠ΄Π°, ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Ρ‚ΠΎΠΉ строкС, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½Π° сообщаСмая ошибка. Иногда ΠΎΠ± ошибкС сообщаСтся лишь Ρ‡Π΅Ρ€Π΅Π· нСсколько строк послС Ρ‚ΠΎΠ³ΠΎ мСста, Π³Π΄Π΅ ΠΎΠ½Π° Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»Π°.


ΠΠ΅Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

НСсмотря Π½Π° Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ привСдСнная Π½ΠΈΠΆΠ΅ строка указываСтся Π²ΠΎ всСх ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, рассматриваСмых Π² этой ΠΊΠ½ΠΈΠ³Π΅, Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ ΠΎΠ½Π° Π½Π΅ Π½ΡƒΠΆΠ½Π°.


using System;


Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ ΠΎΠ½Π° указываСтся Ρ€Π°Π΄ΠΈ удобства. Π­Ρ‚Π° строка Π½Π΅ Π½ΡƒΠΆΠ½Π° ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Π² C# ΠΌΠΎΠΆΠ½ΠΎ всСгда ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ имя с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ пространства ΠΈΠΌΠ΅Π½, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΎΠ½ΠΎ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚. НапримСр, строку