Π Π²-ΡΡΠ΅ΡΡΠΈΡ , ΡΠ°Π΄ΠΈ Π½Π°Π³Π»ΡΠ΄Π½ΠΎΡΡΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌΠ°Ρ Π·Π΄Π΅ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π±ΡΠ»Π°ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π° Π½Π° Π΄Π²Π° ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΡΠ°ΠΉΠ»Π°. Π ΠΎΠ΄Π½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ ΠΊΠΎΠ΄ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΠ΅Π½ Counter, Π° Π² Π΄ΡΡΠ³ΠΎΠΌ β ΠΊΠΎΠ΄ ΡΠ°ΠΌΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ NSDemo. ΠΠΎ ΠΎΠ±Π° ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ° ΠΊΠΎΠ΄Π° ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π±Ρ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ Π² Π΅Π΄ΠΈΠ½ΡΠΉ ΡΠ°ΠΉΠ». ΠΠΎΠ»Π΅Π΅ ΡΠΎΠ³ΠΎ, Π² ΠΎΠ΄Π½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡΡ Π΄Π²Π° ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΠ΅Π½ ΡΠΎ ΡΠ²ΠΎΠΈΠΌΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΌΠΈ ΠΎΠ±Π»Π°ΡΡΡΠΌΠΈ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΉ. ΠΠΎΠ³Π΄Π° ΠΎΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π°ΠΈΠΌΠ΅Π½, Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΠ΅Π½ β Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Ρ CounterΡΡΠΎ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈΠΌΠ΅Π½. Π Π°Π΄ΠΈ Π±ΠΎΠ»ΡΡΠ΅ΠΉ ΡΡΠ½ΠΎΡΡΠΈ Π² ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ Π²ΡΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΠ΅Π½, ΡΡΠ΅Π±ΡΡΡΠΈΠ΅ΡΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅, Π±ΡΠ΄ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈ ΡΠΎΠΌΠΆΠ΅ ΡΠ°ΠΉΠ»Π΅. Π‘Π»Π΅Π΄ΡΠ΅Ρ, ΠΎΠ΄Π½Π°ΠΊΠΎ, ΠΈΠΌΠ΅ΡΡ Π² Π²ΠΈΠ΄Ρ, ΡΡΠΎ ΠΈΡ Π΄ΠΎΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΏΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΌ ΡΠ°ΠΉΠ»Π°ΠΌ, ΡΡΠΎ ΠΏΡΠ°ΠΊΡΠΈΠΊΡΠ΅ΡΡΡ ΡΠ°ΡΠ΅ Π² Π²ΡΡ ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅.ΠΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ² ΠΈΠΌΠ΅Π½ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ² ΠΈΠΌΠ΅Π½
ΠΠ»Π°Π²Π½ΠΎΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ² ΠΈΠΌΠ΅Π½ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΡΠ΅ Π² Π½ΠΈΡ ΠΈΠΌΠ΅Π½Π° Π½Π΅ Π²ΡΡΡΠΏΠ°ΡΡ Π² ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡ Ρ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ, ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΡΠΌΠΈ Π·Π° ΠΈΡ ΠΏΡΠ΅Π΄Π΅Π»Π°ΠΌΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ,Π² ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ Π½ΠΈΠΆΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ Π΄Π²Π° ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΠ΅Π½. ΠΠ΅ΡΠ²ΡΠΌ ΠΈΠ· Π½ΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠ΅ ΡΠ°Π½Π΅Π΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈΠΌΠ΅Π½ Counter, Π° Π²ΡΠΎΡΡΠΌ β Counter2.ΠΠ±Π° ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΠ΅Π½ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΠΊΠ»Π°ΡΡΡ Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ CountDown, Π½ΠΎ ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΠΎ ΡΠ°Π·Π½ΡΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π°, ΡΠΎ ΠΎΠ±Π° ΠΊΠ»Π°ΡΡΠ° CountDown Π½Π΅ Π²ΡΡΡΠΏΠ°ΡΡ Π² ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ΄ΡΡΠ³ Ρ Π΄ΡΡΠ³ΠΎΠΌ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΎΠ±Π° ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΠ΅Π½ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈ ΡΠΎΠΌ ΠΆΠ΅ ΡΠ°ΠΉΠ»Π΅. ΠΠ°ΠΊ ΠΏΠΎΡΡΠ½ΡΠ»ΠΎΡΡ Π²ΡΡΠ΅, ΡΡΠΎ Π²ΠΏΠΎΠ»Π½Π΅ Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎ. ΠΠ΅Π·ΡΡΠ»ΠΎΠ²Π½ΠΎ, ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ· ΡΡΠΈΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ² ΠΈΠΌΠ΅Π½ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π±Ρ Π²ΡΠ΄Π΅Π»ΠΈΡΡ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ», Π΅ΡΠ»ΠΈ Π±Ρ Π² ΡΡΠΎΠΌ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π°ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΡ.// ΠΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΠ΅Π½ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ°ΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡ ΠΈΠΌΠ΅Π½.using System;// ΠΠ±ΡΡΠ²ΠΈΡΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈΠΌΠ΅Π½ Counter.namespace Counter { // ΠΡΠΎΡΡΠΎΠΉ Π²ΡΡΠΈΡΠ°ΡΡΠΈΠΉ ΡΡΠ΅ΡΡΠΈΠΊ. class CountDown { int val; public CountDown(int n) { val = n; } public void Reset(int n) { val = n; } public int Count() { if(val > 0) return val--; else return 0; } }}// ΠΠ±ΡΡΠ²ΠΈΡΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈΠΌΠ΅Π½ Counter2.namespace Counter2 { /* ΠΡΠΎΡ ΠΊΠ»Π°ΡΡ CountDown ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Ρ ΠΈΠΌΠ΅Π½ Counter2 ΠΈ ΠΏΠΎΡΡΠΎΠΌΡ Π½Π΅ Π²ΡΡΡΠΏΠ°Π΅Ρ Π² ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡ Ρ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠΌ ΠΊΠ»Π°ΡΡΠΎΠΌ ΠΈΠ· ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΠ΅Π½ Counter. */ class CountDown { public void Count() { Console.WriteLine("ΠΡΠΎ ΠΌΠ΅ΡΠΎΠ΄ Count() ΠΈΠ· " + "ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΠ΅Π½ Counter2."); } }}class NSDemo2 { static void Main() { // ΠΡΠΎ ΠΊΠ»Π°ΡΡ CountDown ΠΈΠ· ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΠ΅Π½ Counter. Counter.CountDown cd1 = new Counter.CountDown(10); // ΠΡΠΎ ΠΊΠ»Π°ΡΡ CountDown ΠΈΠ· ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΠ΅Π½ Counter2. Counter2.CountDown cd2 = new Counter2.CountDown(); int i; do { i = cd1.Count(); Console.Write(i + " "); } while(i > 0); Console.WriteLine(); cd2.Count(); }}
ΠΠΎΡ ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.10 9 8 7 6 5 4 3 2 1 0ΠΡΠΎ ΠΌΠ΅ΡΠΎΠ΄ Count() ΠΈΠ· ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΠ΅Π½ Counter2.
ΠΠ°ΠΊ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΠ· ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ Π²ΡΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°, ΠΊΠ»Π°ΡΡ CountDown ΠΈΠ· ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π°ΠΈΠΌΠ΅Π½ Counter ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ ΠΎΡ ΠΊΠ»Π°ΡΡΠ° ΡΠΎΠ³ΠΎ ΠΆΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΈΠ· ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΠ΅Π½Counter2, ΠΈ ΠΏΠΎΡΡΠΎΠΌΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡ ΠΈΠΌΠ΅Π½ Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ. ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° Π²ΡΡ ΠΏΡΠΎΡΡΠΎΡΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎΠΏΡΠΈΠΌΠ΅ΡΠ°, ΠΎΠ½ Π½Π°Π³Π»ΡΠ΄Π½ΠΎ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΠΊΠ°ΠΊ ΡΠ΄Π°Π΅ΡΡΡ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ° ΠΈΠΌΠ΅Π½ Π² ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ ΠΈ ΠΊΠΎΠ΄Π΅, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠΌ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌΠΈ, ΠΏΠΎΠΌΠ΅ΡΡΠΈΠ² ΠΊΠ»Π°ΡΡΡ Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ Π² ΡΠ°Π·Π½ΡΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΠ΅Π½.ΠΠΈΡΠ΅ΠΊΡΠΈΠ²Π° using
ΠΡΠ»ΠΈ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΡΡ ΡΠ°ΡΡΡΠ΅ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΡΠ»Π΅Π½Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π°ΠΈΠΌΠ΅Π½, ΡΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ Π²ΡΡΠΊΠΈΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΡΡΠ»ΠΊΠ° Π½Π° Π½Π΅Π³ΠΎ, Π½Π΅ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π½ΠΎ. ΠΡΠ΅ΠΎΠ΄ΠΎΠ»Π΅ΡΡ ΡΡΠΎ Π·Π°ΡΡΡΠ΄Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π° using. Π ΠΏΠΎΠ΄Π°Π²Π»ΡΡΡΠ΅ΠΌ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΠ²ΡΠΈΡ ΡΡ ΡΠ°Π½Π΅Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ Π΄Π΅Π»Π°Π»ΠΎΡΡ Π²ΠΈΠ΄ΠΈΠΌΡΠΌ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠ΅ Π΄Π»Ρ C# ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈΠΌΠ΅Π½ System, ΠΏΠΎΡΡΠΎΠΌΡΠΎΠ½Π° ΠΎΡΡΠ°ΡΡΠΈ Π²Π°ΠΌ ΡΠΆΠ΅ Π·Π½Π°ΠΊΠΎΠΌΠ°. ΠΠ°ΠΊ ΠΈ ΡΠ»Π΅Π΄ΠΎΠ²Π°Π»ΠΎ ΠΎΠΆΠΈΠ΄Π°ΡΡ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ usingΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π²ΠΈΠ΄ΠΈΠΌΡΠΌΠΈ Π²Π½ΠΎΠ²Ρ ΡΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΡΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΠ΅Π½.
Π‘ΡΡΠ΅ΡΡΠ²ΡΡΡ Π΄Π²Π΅ ΡΠΎΡΠΌΡ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ using. ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π° ΠΏΠ΅ΡΠ²Π°Ρ ΠΈΠ· Π½ΠΈΡ :using ΠΈΠΌΡ;
Π³Π΄Π΅ ΠΈΠΌΡ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΈΠΌΡ ΡΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΠ΅Π½, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ. ΠΡΠ΅ ΡΠ»Π΅Π½Ρ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π² ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΈΠΌΠ΅Π½, ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΡΠΌΠΈ, ΠΈ ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Ρ Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΈΡ ΠΈΠΌΠ΅Π½.ΠΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ using Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²Π²ΠΎΠ΄ΠΈΡΡ Π² ΡΠ°ΠΌΠΎΠΌ Π½Π°ΡΠ°Π»Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°ΠΏΠ΅ΡΠ΅Π΄ Π»ΡΠ±ΡΠΌΠΈ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡΠΌΠΈ ΠΈΠ»ΠΈ ΠΆΠ΅ Π² Π½Π°ΡΠ°Π»Π΅ ΡΠ΅Π»Π° ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΠ΅Π½.
ΠΡΠΈΠ²Π΅Π΄Π΅Π½Π½Π°Ρ Π½ΠΈΠΆΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠΌ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ°, ΠΏΠ΅ΡΠ΅ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΠΌ Ρ ΡΠ΅Π»ΡΡ ΠΏΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ using, Π΄Π΅Π»Π°ΡΡΠ΅ΠΉΠ²ΠΈΠ΄ΠΈΠΌΡΠΌ ΡΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΠΎΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈΠΌΠ΅Π½.// ΠΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ using.using System;// Π‘Π΄Π΅Π»Π°ΡΡ Π²ΠΈΠ΄ΠΈΠΌΡΠΌ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈΠΌΠ΅Π½ Counter.using Counter;// ΠΠ±ΡΡΠ²ΠΈΡΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈΠΌΠ΅Π½ Π΄Π»Ρ ΡΡΠ΅ΡΡΠΈΠΊΠΎΠ².namespace Counter { // ΠΡΠΎΡΡΠΎΠΉ Π²ΡΡΠΈΡΠ°ΡΡΠΈΠΉ ΡΡΠ΅ΡΡΠΈΠΊ. class CountDown { int val; public CountDown(int n) { val = n; } public void Reset(int n) { val = n; } public int Count() { if(val > 0) return val--; else return 0; } }}class NSDemo3 { static void Main() { // Π’Π΅ΠΏΠ΅ΡΡ ΠΊΠ»Π°ΡΡ CountDown ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ. CountDown cd1 = new CountDown(10); int i; do { i = cd1.Count(); Console.Write(i + " "); } while(i > 0); Console.WriteLine(); CountDown cd2 = new CountDown(20); do { i = cd2.Count(); Console.Write(i + " "); } while(i > 0); Console.WriteLine(); cd2.Reset(4); do { i = cd2.Count(); Console.Write(i + " "); } while(i > 0); Console.WriteLine(); }}
Π ΡΡΡ Π²Π΅ΡΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π²Π½Π΅ΡΠ΅Π½Ρ Π΄Π²Π° ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ. ΠΠ΅ΡΠ²ΠΎΠ΅ ΠΈΠ· Π½ΠΈΡ ΡΠΎΡΡΠΎΠΈΡ Π² ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ using Π² ΡΠ°ΠΌΠΎΠΌ Π½Π°ΡΠ°Π»Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎΠ½ΠΈΠΆΠ΅.using Counter;
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΡΠΎΠΌΡ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΡΠΌ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈΠΌΠ΅Π½ Counter. ΠΡΠΎΡΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΊΠ»Π°ΡΡ CountDown Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΡΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΠ΅Π½ Counter, ΠΊΠ°ΠΊ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅Ρ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½Π°Ρ Π½ΠΈΠΆΠ΅ ΡΡΡΠΎΠΊΠ°ΠΊΠΎΠ΄Π° ΠΈΠ· ΠΌΠ΅ΡΠΎΠ΄Π° Main().CountDown cd1 = new CountDown(10);
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈΠΌΠ΅Π½ Counter ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΡΠΌ, ΠΈ ΠΏΠΎΡΡΠΎΠΌΡ ΠΊΠ»Π°ΡΡCountDown ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ.
Π Π°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌΠ°Ρ Π·Π΄Π΅ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΈΠ»Π»ΡΡΡΡΠΈΡΡΠ΅Ρ Π΅ΡΠ΅ ΠΎΠ΄Π½ΠΎ Π²Π°ΠΆΠ½ΠΎΠ΅ ΠΎΠ±ΡΡΠΎΡΡΠ΅Π»ΡΡΡΠ²ΠΎ:ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΠ΅Π½ Π½Π΅ ΠΎΡΠΌΠ΅Π½ΡΠ΅Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Π΄ΡΡΠ³ΠΎΠ³ΠΎ. ΠΠΎΠ³Π΄Π° ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈΠΌΠ΅Π½ Π΄Π΅Π»Π°Π΅ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΡΠΌ, ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ Π΄Π°Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΈΠΌΠ΅Π½. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΎΠ±Π°ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΠ΅Π½, System ΠΈ Counter, ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΡΠΌΠΈ.ΠΡΠΎΡΠ°Ρ ΡΠΎΡΠΌΠ° Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ using
ΠΡΠΎΡΠ°Ρ ΡΠΎΡΠΌΠ° Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ using ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π΅ΡΠ΅ ΠΎΠ΄Π½ΠΎ ΠΈΠΌΡ (ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠΉ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌ) ΡΠΈΠΏΠ° Π΄Π°Π½Π½ΡΡ ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΠ΅Π½. ΠΡΠ° ΡΠΎΡΠΌΠ° ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π° Π½ΠΈΠΆΠ΅:using ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌ = ΠΈΠΌΡ;
Π³Π΄Π΅ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π΅ΡΠ΅ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΡΠΈΠΏΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΈΠΏΠ° ΠΊΠ»Π°ΡΡΠ°) ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΠ΅Π½, ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ ΠΊΠ°ΠΊ ΠΈΠΌΡ. ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π½, ΠΎΠ½ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ Π²ΠΌΠ΅ΡΡΠΎ ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ.
ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ Π²Π°ΡΠΈΠ°Π½Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈΠ· ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ°, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΠΉ Ρ ΡΠ΅Π»ΡΡ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΠ° MyCounter Π²ΠΌΠ΅ΡΡΠΎ ΡΠΎΡΡΠ°Π²Π½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈCounter.CountDown.// ΠΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΠ°.using System;// Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌ Π΄Π»Ρ ΡΠΎΡΡΠ°Π²Π½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ Counter.CountDown.using MyCounter = Counter.CountDown;// ΠΠ±ΡΡΠ²ΠΈΡΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈΠΌΠ΅Π½ Π΄Π»Ρ ΡΡΠ΅ΡΡΠΈΠΊΠΎΠ².namespace Counter { // ΠΡΠΎΡΡΠΎΠΉ Π²ΡΡΠΈΡΠ°ΡΡΠΈΠΉ ΡΡΠ΅ΡΡΠΈΠΊ. class CountDown { int val; public CountDown(int n) { val = n; } public void Reset(int n) { val = n; } public int Count() { if(val > 0) return val--; else return 0; } }}class NSDemo4 { static void Main() { // ΠΠ΄Π΅ΡΡ ΠΈ Π΄Π°Π»Π΅Π΅ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌ MyCounter ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ // Π²ΠΌΠ΅ΡΡΠΎ ΡΠΎΡΡΠ°Π²Π½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ Counter.CountDown. MyCounter cd1 = new MyCounter(10); int i; do { i = cd1.Count(); Console.Write(i + " "); } while(i > 0); Console.WriteLine(); MyCounter cd2 = new MyCounter(20); do { i = cd2.Count(); Console.Write(i + " "); } while(i > 0); Console.WriteLine(); cd2.Reset(4); do { i = cd2.Count(); Console.Write(i + " "); } while(i > 0); Console.WriteLine(); }}
ΠΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌ MyCounter ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°.using MyCounter = Counter.CountDown;
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌ Π±ΡΠ΄Π΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠΊΠ»Π°ΡΡΠ°Counter.CountDown, Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΈΠΌΠ΅Π½ΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠ΅ ΠΊΠΎΠ΄Π° ΠΈΠ·ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌΠΎΠΉ Π·Π΄Π΅ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΊΠ»Π°ΡΡΠ° CountDown.MyCounter cd1 = new MyCounter(10);ΠΠ΄Π΄ΠΈΡΠΈΠ²Π½ΡΠΉ Ρ Π°ΡΠ°ΠΊΡΠ΅Ρ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ² ΠΈΠΌΠ΅Π½