// ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠΎ, ΡΡΠΎ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ'foreach'
// Π½Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ Π΄Π»ΠΈΠ½Ρ ΠΌΠ°ΡΡΠΈΠ²Π°.
public static int Main(string[] args) {
β¦
foreach (string s in args) Console.WriteLine("ΠΡΠ³ΡΠΌΠ΅Π½Ρ: {0} ", s);
β¦
}
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, Π΄ΠΎΡΡΡΠΏ ΠΊ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΡΠ°ΠΊΠΆΠ΅ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄ GetCommandLineArgs() ΡΠΈΠΏΠ° System.Environment. ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΡΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΌΠ°ΡΡΠΈΠ² ΡΡΡΠΎΠΊ. ΠΠ³ΠΎ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΡΠ΅Ρ ΠΊΠ°ΡΠ°Π»ΠΎΠ³, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π° ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΠΏΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΡΡΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ (ΠΏΡΠΈ ΡΡΠΎΠΌ Π½Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ Π΄Π»Ρ ΠΌΠ΅ΡΠΎΠ΄Π° Main() ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Π² Π²ΠΈΠ΄Π΅ ΠΌΠ°ΡΡΠΈΠ²Π° ΡΡΡΠΎΠΊ).
public static int Main(string[] args) {
...
// ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ System.Environment.
string[] theArgs = Environment.GetCommandLineArgs();
Console.WriteLine("ΠΡΡΡ ΠΊ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ: {0}", theArgs[0]);
β¦
}
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π² Visual Studio 2005
ΠΠΎΠ½Π΅ΡΠ½ΡΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. Π ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠ°Π·Π°ΡΡ ΡΠ»Π°Π³ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Ρ ΡΠ΅Π»ΡΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. Π§ΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ Π² Visual Studio 2005, Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ ΡΠ΅Π»ΡΠΎΠΊ Π½Π° ΠΏΠΈΠΊΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Properties (Π‘Π²ΠΎΠΉΡΡΠ²Π°) Π² ΠΎΠΊΠ½Π΅ Solution Explorer (ΠΠ±Π·ΠΎΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ) ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Π²ΠΊΠ»Π°Π΄ΠΊΡ Debug (ΠΡΠ»Π°Π΄ΠΊΠ°). ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΡΠΊΠ°ΠΆΠΈΡΠ΅ Π½ΡΠΆΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² Π² ΠΏΠΎΠ»Π΅ ΡΠ΅ΠΊΡΡΠ° Command line arguments (ΠΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ), ΡΠΈΡ. 3.2.
Π ΠΈΡ. 3.2. Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π² Visual Studio 2005
ΠΠ΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ»ΠΎΠ² ΠΎ ΠΊΠ»Π°ΡΡΠ΅ System.Environment
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΊΠ»Π°ΡΡ System.Environment ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅. ΠΡΠΎΡ ΠΊΠ»Π°ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΡΠ΄ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ»Π΅Π½ΠΎΠ², ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΡ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ .NET-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π§ΡΠΎΠ±Ρ ΠΈΠ»Π»ΡΡΡΡΠΈΡΠΎΠ²Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΡΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°, ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄ MΠ°in() Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ ΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ.
public static int Main(string[] args) {
...
// ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅.
Console.WriteLine("ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠ°Ρ ΠΠ‘: {0} ", Environment.OSVersion);
// ΠΠ°ΡΠ°Π»ΠΎΠ³, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.
Console.WriteLine("Π’Π΅ΠΊΡΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³: {0}: ", Environment.CurrentDirectory);
// Π‘ΠΏΠΈΡΠΎΠΊ Π΄ΠΈΡΠΊΠΎΠ²ΠΎΠ΄ΠΎΠ² Π½Π° Π΄Π°Π½Π½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅.
string[] drives = Environment.GetLogicalDrives();
for (int i = 0; i βΉ drives.Length; i++)
Console.WriteLine("ΠΠΈΡΠΊ {0}: {1} ", i, drives[i]);
// ΠΠ΅ΡΡΠΈΡ .NET-ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠ°Ρ Π½Π° ΠΌΠ°ΡΠΈΠ½Π΅.
Console.WriteLine("ΠΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠ°Ρ Π²Π΅ΡΡΠΈΡ .NET: {0} ", Environment.Version);
β¦
}
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ Π²ΡΠ²ΠΎΠ΄Π° ΠΏΠΎΠΊΠ°Π·Π°Π½ Π½Π° ΡΠΈΡ. 3.3.
Π ΠΈΡ. 3.3. ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ Π·Π° ΡΠ°Π±ΠΎΡΠΎΠΉ
Π’ΠΈΠΏ System.EnvirΠΎnmΠ΅nt ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΈ Π΄ΡΡΠ³ΠΈΡ ΡΠ»Π΅Π½ΠΎΠ², Π° Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΡ Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅. Π ΡΠ°Π±Π». 3.1 ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π°, Π½ΠΎ Π½Π΅ΠΏΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π·Π°Π³Π»ΡΠ½ΠΈΡΠ΅ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ .NET Framework 2.0 SDK, ΡΡΠΎΠ±Ρ ΡΠ·Π½Π°ΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ.
Π’Π°Π±Π»ΠΈΡΠ° 3.1. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° System.Environment
Π‘Π²ΠΎΠΉΡΡΠ²Π΅ ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ MashineName ΠΠΌΡ ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΠΌΠ°ΡΠΈΠ½Ρ NewLine Π‘ΠΈΠΌΠ²ΠΎΠ» ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π° Π½Π° Π½ΠΎΠ²ΡΡ ΡΡΡΠΎΠΊΡ Π΄Π»Ρ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ ProcessorCount Π§ΠΈΡΠ»ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠ² ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΠΌΠ°ΡΠΈΠ½Ρ SystemDirectory ΠΠΎΠ»Π½ΡΠΉ ΠΏΡΡΡ ΠΊ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΌΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Ρ UserName ΠΠΌΡ ΠΌΠΎΠ΄ΡΠ»Ρ, Π·Π°ΠΏΡΡΡΠΈΠ²ΡΠ΅Π³ΠΎ Π΄Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° Π²Ρ Π·Π½Π°Π΅ΡΠ΅ ΠΎ ΡΠΎΠ»ΠΈ Main(), ΠΏΠ΅ΡΠ΅ΠΉΠ΄Π΅ΠΌ Π² Π·Π°Π΄Π°ΡΠ΅ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ². ΠΠΎ Π²ΡΠ΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠ·ΡΠΊΠ°Ρ Π΄Π΅Π»Π°Π΅ΡΡΡ ΡΠ΅ΡΠΊΠΎΠ΅ ΡΠ°Π·Π»ΠΈΡΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ. Π’Π΅ΡΠΌΠΈΠ½ ΠΊΠ»Π°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΡΠΈΠΏΠ° (User-Defined Type β UDT), ΠΈΠ»ΠΈ, Π΅ΡΠ»ΠΈ Ρ ΠΎΡΠΈΡΠ΅, ΡΠ°Π±Π»ΠΎΠ½Π°. Π ΡΠ΅ΡΠΌΠΈΠ½ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° Π² ΠΏΠ°ΠΌΡΡΠΈ. ΠΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ new Π² C# ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΡΠΏΠΎΡΠΎΠ± ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ². Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ Π΄ΡΡΠ³ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠ·ΡΠΊΠΎΠ² (ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, C++), Π² C# Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΡΡ ΡΠΈΠΏ ΠΊΠ»Π°ΡΡΠ° Π² ΡΡΠ΅ΠΊΠ΅, ΠΏΠΎΡΡΠΎΠΌΡ Π΅ΡΠ»ΠΈ Π²Ρ ΠΏΠΎΠΏΡΡΠ°Π΅ΡΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΊΠ»Π°ΡΡΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π΅ Π±ΡΠ»Π° ΡΠΎΠ·Π΄Π°Π½Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ new, Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΠΎΡΠΈΠ±ΠΊΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΊΠΎΠ΄ C# ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠΌ.
using System;
class HelloClass {
public static int Main(string[] args) {
// ΠΡΠΈΠ±ΠΊΠ°! ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π½Π΅ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½Π°Ρ
// ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ. Π‘Π»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ 'new'.
HelloClass c1;
Ρ1.SomeMethod();
β¦
}
}
Π§ΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠ΅ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², Π²Π½Π΅ΡΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ.
using System;
class HelloClass {
public static int Main(string[] args) {
// ΠΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΡΠ²ΠΈΡΡ ΠΈ ΡΠΎΠ·Π΄Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ Π² ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅β¦
HelloClass Ρ1 = new HelloClass();
//β¦ΠΈΠ»ΠΈ ΡΠΊΠ°Π·Π°ΡΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π² ΡΠ°Π·Π½ΡΡ ΡΡΡΠΎΠΊΠ°Ρ .
HelloClass c2;
Ρ2 = new HelloClass();
β¦
}
}
ΠΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ new ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΡΠΈΡΠ»Π° Π±Π°ΠΉΡΠΎΠ², Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π΄Π»Ρ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, ΠΈ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΌΠ° ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΠΎΠΉ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ (managed heap). Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ°Π΅ΡΠ΅ Π΄Π²Π° ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΡΠΈΠΏΠ° ΠΊΠ»Π°ΡΡΠ° HelloClass. Π‘Π»Π΅Π΄ΡΠ΅Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΡΡΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ C# Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΡΠ²Π»ΡΡΡΡΡ ΡΡΡΠ»ΠΊΠ°ΠΌΠΈ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡ Π² ΠΏΠ°ΠΌΡΡΠΈ, Π° Π½Π΅ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ. Π’Π°ΠΊ ΡΡΠΎ c1 ΠΈ Ρ2 ΡΡΡΠ»Π°ΡΡΡΡ Π½Π° ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ HelloClass, ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½Π½ΡΠΉ Π° ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΠΎΠΉ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ.
Π ΠΎΠ»Ρ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠΎΠ²
ΠΠΎ ΡΠΈΡ ΠΏΠΎΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ HelloClass ΡΡΡΠΎΠΈΠ»ΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ°, Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ, ΠΏΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ, Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ². ΠΠ°ΠΆΠ΄ΡΠΉ ΠΊΠ»Π°ΡΡ C# Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ½Π°Π±ΠΆΠ°Π΅ΡΡΡ ΡΠΈΠΏΠΎΠ²ΡΠΌ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ. ΠΡΠΎΡ ΡΠΈΠΏΠΎΠ²ΠΎΠΉ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΈ Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ, ΡΡΠΎ Π²ΡΠ΅ ΡΠ»Π΅Π½Ρ-Π΄Π°Π½Π½ΡΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΏΠΎΠ»ΡΡΠ°Ρ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠ΅ ΡΠΈΠΏΠΎΠ²ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ (ΡΠ°ΠΊΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠ½ΠΎ Π΄Π»Ρ Π²ΡΠ΅ΠΌ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠΎΠ²). Π‘ΡΠ°Π²Π½ΠΈΡΠ΅ ΡΡΠΎ Ρ ΡΠΈΡΡΠ°ΡΠΈΠ΅ΠΉ Π² C++. Π³Π΄Π΅ Π½Π΅ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π° "ΠΌΡΡΠΎΡ" (ΠΈΠ½ΠΎΠ³Π΄Π° ΠΌΠ΅Π»ΠΎΡΠΈ ΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ½ΡΠΌΠΈ).
ΠΠ±ΡΡΠ½ΠΎ ΠΊΡΠΎΠΌΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ°, Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΊΠ»Π°ΡΡΡ ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΡ. Π’Π΅ΠΌ ΡΠ°ΠΌΡΠΌ Π²Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π΅Π³ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ, ΠΠΎΠ΄ΠΎΠ±Π½ΠΎ Java ΠΈ C++, ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΡ Π² C# ΠΈΠΌΠ΅ΡΡ ΠΈΠΌΡ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π΅ ΠΈΠΌΠ΅Π½ΠΈ ΠΊΠ»Π°ΡΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ½ΠΈ ΠΊΠΎΠ½ΡΡΡΡΠΈΡΡΡΡ, ΠΈ ΠΎΠ½ΠΈ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ (Π΄Π°ΠΆΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ void). ΠΠΈΠΆΠ΅ ΡΠ½ΠΎΠ²Π° ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ ΡΠΈΠΏ HelloClass, Π½ΠΎ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΌ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠΎΠΌ, ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌ Π·Π°Π΄Π°Π½Π½ΡΠΌ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠΎΠΌ, ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ ΠΎΡΠΊΡΡΡΡΡ ΡΡΡΠΎΠΊΠΎΠ²ΡΡ Π΄Π°Π½Π½ΡΡ .
// HelloClass c ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ°ΠΌΠΈ.
class HelloClass {
// ΠΠ»Π΅ΠΌΠ΅Π½Ρ ΠΎΡΠΊΡΡΡΡΡ Π΄Π°Π½Π½ΡΡ .
public string userMessage;
// ΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ, Π·Π°Π΄Π°Π½Π½ΡΠΉ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
public HelloClass() {
Console.WriteLine("ΠΡΠ·Π²Π°Π½ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ, Π·Π°Π΄Π°Π½Π½ΡΠΉ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ!");
}
// ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ, ΡΠ²ΡΠ·ΡΠ²Π°ΡΡΠΈΠΉ Π΄Π°Π½Π½ΡΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ
// Ρ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
public HelloClass(string msg) {
Console.WriteLine("ΠΡΠ·Π²Π°Π½ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ!");
userMessage = msg;
}
// ΡΠΎΡΠΊΠ° Π²Ρ ΠΎΠ΄Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
public static int Main(string[] args) {
// ΠΡΠ·ΠΎΠ² ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ°, Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ
HelloClass c1 = new HelloClass();
Console.WriteLine("ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ userMessage: {0}\n", c1.userMessage);
// ΠΡΠ·ΠΎΠ² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ°
HelloClass c2;
c2 = new HelloClass("ΠΡΠΎΠ²Π΅ΡΠΊΠ°. 1, 2, 3"); Console.WriteLine("ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ userMessage: {0}\n ", c2.userMessage);
Console.ReadLine();
return 0;
}
}
ΠΠ°ΠΌΠ΅ΡΠ°Π½ΠΈΠ΅. ΠΡΠ»ΠΈ ΡΠΈΠΏ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠ»Π΅Π½Ρ (Π²ΠΊΠ»ΡΡΠ°Ρ ΠΈ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΡ) Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΈΡΠ»ΠΎΠΌ (ΠΈΠ»ΠΈ ΡΠΈΠΏΠΎΠΌ) ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², ΡΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΡΠ»Π΅Π½ Π½Π°Π·ΡΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅Π³ΡΡΠΆΠ΅Π½Π½ΡΠΌ. Π Π³Π»Π°Π²Π΅ 4 ΠΏΠ΅ΡΠ΅Π³ΡΡΠ·ΠΊΠ° Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Π° ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ.
ΠΡΠΈ Π°Π½Π°Π»ΠΈΠ·Π΅ Π²ΡΠ²ΠΎΠ΄Π° ΡΡΠΎΠΉ (ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅ΡΠΈΡΡ ΡΡΠΎ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ, Π·Π°Π΄Π°Π½Π½ΡΠΉ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅Ρ ΡΡΡΠΎΠΊΠΎΠ²ΠΎΠΌΡ ΠΏΠΎΠ»Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ (ΠΏΡΡΡΠΎΠ΅), ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½Π½ΠΎΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π΄Π»Ρ ΡΠ»Π΅Π½Π° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ (pΠΈc. 3.4).