Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°
Π½Π΅ΠΉΠΌΡΠΏΠ΅ΠΉΡ ΠΈΠΌΡ_ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° {
ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠΉ_ΠΊΠ»Π°ΡΡ : Π½Π°ΡΠ»Π΅Π΄ΡΠ΅Ρ_ΠΎΡ {
[ΡΡΠ»/ΠΏΠΎΠ»Π΅(Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ)]
[ΠΏΠΎΠ»Π΅] ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠΈΠΏ_Π΄Π°Π½Π½ΡΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ = Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ {Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ};
[ΠΏΠΎΠ»Π΅] ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠΈΠΏ_Π΄Π°Π½Π½ΡΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ = new ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΠΉ_ΡΠΏΠΈΡΠΎΠΊ<ΡΠΈΠΏ_Π΄Π°Π½Π½ΡΡ >(Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ){ΡΠ΅Π»ΠΎ_ΡΠΏΠΈΡΠΊΠ°};
#region ΠΡΠΎΡΡΠ΅ΠΉΡΠΈΠ΅ Π‘ΡΡΡΠΊΡΡΡΡ
ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅_ΠΌΠ΅ΡΠΎΠ΄Π°(Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ) => Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅; //ΠΌΠ΅ΡΠΎΠ΄ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ ΡΠ΅ΡΠ΅Π· Π»ΡΠΌΠ±Π΄Π°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅
ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅_ΠΌΠ΅ΡΠΎΠ΄Π°(Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ) {
if (ΡΡΠ»ΠΎΠ²ΠΈΠ΅_Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ) { //Π΅ΡΠ»ΠΈ ΠΎΠ΄Π½Π° ΡΡΡΠΎΡΠΊΠ°, ΡΠΎ ΡΠΊΠΎΠ±ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ ΠΏΠΈΡΠ°ΡΡ
Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ_Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅;
}
elif (Π΅ΡΠ»ΠΈ_ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π΅_ΡΡΠ»ΠΎΠ²ΠΈΠ΅_Π½Π΅_Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ) {
Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ_Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅;
}
else {
Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ_Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅;
}
switch (Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅) { //ΡΠ²ΠΈΡ ΠΊΠ΅ΠΉΡ - Π·Π°ΠΌΠ΅Π½Π° if else, Π΅ΡΠ»ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠΉ ΠΌΠ½ΠΎΠ³ΠΎ
case Π΅ΡΠ»ΠΈ_Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅_ΠΈΠΌΠ΅Π΅Ρ_ΡΡΠΎ_Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅:
Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ_Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅;
break;
//........
default:
Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅_Π΅ΡΠ»ΠΈ_Π½ΠΈ_ΠΎΠ΄Π½ΠΎ_ΡΡΠ»ΠΎΠ²ΠΈΠ΅_Π½Π΅_ΠΏΠΎΠ΄ΠΎΡΠ»ΠΎ;
break;
}
Π½Π°Π·Π²Π°Π½ΠΈΠ΅_ΠΎΠ±ΡΠ΅ΠΊΡΠ° = Π½Π°Π·Π²Π°Π½ΠΈΠ΅_ΠΎΠ±ΡΠ΅ΠΊΡΠ°.ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅_ΠΊ_Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅/ΠΎΠ±ΡΠ΅ΠΊΡΡ;
Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ_ΠΌΠ΅ΡΠΎΠ΄(Π·Π°Π΄Π°Π΅ΠΌ_Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ_ΡΠΊΠ°Π·Π°Π½Π½ΡΠ΅_Π²_ΠΌΠ΅ΡΠΎΠ΄Π΅);
Π½Π°Π·Π²Π°Π½ΠΈΠ΅_ΠΎΠ±ΡΠ΅ΠΊΡΠ°.ΡΡΠ½ΠΊΡΠΈΡ(ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΠΌ_Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ);
}
ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΎΡ int (Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ) {
while (ΡΡΠ»ΠΎΠ²ΠΈΠ΅_Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ) {
Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ_Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅;
ΠΈΠ½ΡΠ΅ΠΆΠ΅Ρ++; //+1
ΠΈΠ½ΡΠ΅ΠΆΠ΅Ρ--; //-1
}
do {
Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅;
} while (ΡΡΠ»ΠΎΠ²ΠΈΠ΅_Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ);
for (Π²ΡΠΏΠΎΠ»Π½ΡΡΡ_ΠΏΠΎΠΊΠ°_ΡΡΠ»ΠΎΠ²ΠΈΠ΅_Π»ΠΎΠΆΠ½ΠΎ) {
Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ_Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅;
}
foreach (ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠΈΠΏ_ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² ΠΎΠ±ΡΠ΅ΠΊΡΠ΅) {
ΠΏΠ΅ΡΠ΅Π±ΡΠ°ΡΡ_ΠΊΠ°ΠΆΠ΄ΡΠΉ_ΡΠ»Π΅ΠΌΠ΅Π½Ρ;
}
Π²ΠΎΠ·Π²ΡΠ°Ρ;
}
#endregion
#region ΠΡΠ»Π°Π΄ΠΊΠ° ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ
try {
ΠΊΠΎΠ΄_Ρ_ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ;
}
catch (Exception Π½Π°Π·Π²Π°Π½ΠΈΠ΅_ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ) {
ΠΠΎΠ½ΡΠΎΠ»Ρ.Π’Π΅ΠΊΡΡΠΎΠ²Π°ΡΠ‘ΡΡΠΎΠΊΠ°(Π½Π°Π·Π²Π°Π½ΠΈΠ΅_ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ.Message);
}
finally {
Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅_Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΠ΅_ΠΎΡ_try_catch;
}
throw new InvalidOperationException(ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅_Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅_Π±Π»ΠΎΠΊΠ°_Ρ_Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎΠΉ_ΠΎΡΠΈΠ±ΠΊΠΎΠΉ);
#endregion
#region ΠΠ±ΡΠ΅ΠΊΡΠ½ΠΎ ΠΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ - ΠΠΠ
class ΠΈΠΌΡ_ΠΊΠ»Π°ΡΡΠ° : ΡΡΠΎ_Π½Π°ΡΠ»Π΅Π΄ΡΠ΅Ρ { /* ΠΌΠ΅ΡΠΎΠ΄Ρ, ΡΠ²ΠΎΠΉΡΡΠ²Π°, Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ ΠΈ Ρ.Π΄. */ }
interface Π½Π°Π·Π²Π°Π½ΠΈΠ΅_ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° { /* ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², ΡΠ²ΠΎΠΉΡΡΠ², Π½ΠΎ Π±Π΅Π· ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ (Π΄Π»Ρ Π΄ΡΡΠ³ΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ²) */ }
delegate ΠΌΠ΅ΡΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅_ΠΌΠ΅ΡΠΎΠ΄Π°(Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ); //ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° ΠΌΠ΅ΡΠΎΠ΄Π° Π΄Π»Ρ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ
enum Π½Π°Π·Π²Π°Π½ΠΈΠ΅_ΠΊΠΎΠ½ΡΡΠ°Π½Ρ { /* Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΡΠΏΠΈΡΠΊΠΎΠ², enum ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ */ }
struct Π½Π°Π·Π²Π°Π½ΠΈΠ΅_ΡΡΡΡΠΊΡΡΡΡ { /* ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅, ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½Π½ΡΠ΅ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΌ ΡΠΌΡΡΠ»ΠΎΠΌ. ΠΎΠ±ΡΡΠ½ΡΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ */ }
#endregion
}
}
ΠΠ°ΠΉΠ΄Π΅ΡΡΡ ΡΠΏΠΎΡΠΎΠ± ΡΠ°Π·ΠΎΠ·Π»ΠΈΡΡ Π¨Π°ΡΠΊΠΈ ΠΠ½Π»Π°ΠΉΠ½ΠΎΠ²ΠΈΡΠ°
ΠΠ°Π·Π° ΡΡΡΡΠΊΡΡΡ c# Π΄Π»Ρ ΠΌΠΎΠΈΡ ΠΎΠ΄Π½ΠΎΠ³ΡΡΠΏΠΏΠ½ΠΈΠΊΠΎΠ²-Π½Π΅Π΄ΠΎΡΠ΅ΠΏ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ Π·Π½Π°ΡΡ ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΎΡ
#ΠΠΏΠ΅Π½Π‘ΠΎΡΡ