ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΡΡΠ΅Π΄Π΅ Microsoft.
NET. ΠΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠΎΠ².
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ
ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄Π»Ρ Windows Form
ΠΠΎΠΌΠΈΠΌΠΎ ΡΠΆΠ΅ ΡΠΊΠ°Π·Π°Π½Π½ΡΡ ΠΎΠ±ΡΠΈΡ ΠΏΠΎΠ»Π΅ΠΉ ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΠΈΠΌ ΡΠ²ΠΎΠΉΡΡΠ², Π² Π±Π°Π·ΠΎΠ²ΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅ GeographicObject Π±ΡΠ»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ Description — Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ Π³Π΅ΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΈ Category — Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΡΠΈΠΏΠ΅ Π³Π΅ΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΠ±ΡΠ΅Π³ΠΎ Π΄Π»Ρ Π²ΡΠ΅Ρ Π²ΠΈΠ΄ΠΎΠ² Π³Π΅ΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄Π° Π² Π±Π°Π·ΠΎΠ²ΡΠΉ ΠΊΠ»Π°ΡΡ Π±ΡΠ» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΌΠ΅ΡΠΎΠ΄ GetLocation () Π΄Π»Ρ… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΡΡΠ΅Π΄Π΅ Microsoft. NET. ΠΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠΎΠ². Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄Π»Ρ Windows Form (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
Π¦Π΅Π»Ρ ΡΠ°Π±ΠΎΡΡ
Π¦Π΅Π»Ρ ΡΠ°Π±ΠΎΡΡ — ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΊΠ»Π°ΡΡΠΎΠ² Π΄Π»Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ .NET, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠ΅ΠΉ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ, ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ²-ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ, ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² ΠΊΠ»Π°ΡΡΠΎΠ², Π΄Π΅Π»Π΅Π³Π°ΡΠΎΠ², ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΡΠΎΠ±ΡΡΠΈΠΉ ΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ, ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π½Π° Π±Π°Π·Π΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Windows Form.
ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠ°Π±ΠΎΡΡ — 6 ΡΠ°ΡΠΎΠ².
ΠΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠΎΠ²
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΎΡΠ΅ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ² Π΄Π»Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ Π·Π°Π΄Π°ΡΠΈ. ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠ»Π°ΡΡΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠ΅ΠΉ Π³Π΅ΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΡΠ°Π·Π½ΡΡ ΡΠΈΠΏΠΎΠ².
ΠΠ»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠΌΡΡ Π΄Π²ΡΠΌΡ Π²ΠΈΠ΄Π°ΠΌΠΈ Π³Π΅ΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²: ΡΠ΅ΠΊΠΈ ΠΈ Π³ΠΎΡΠΎΠ΄Π°. ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠΌ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΠ·ΡΡΡΠΈΠ΅ ΡΡΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π½ΠΈΠΌΠΈ. ΠΠ»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° «Π Π΅ΠΊΠ°» ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ΄Π΅Π»ΠΈΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°ΠΊΠΈΠ΅ ΠΏΠΎΠ»Ρ: «ΠΠ°Π·Π²Π°Π½ΠΈΠ΅», «ΠΠΎΠ΄ΠΎΡΠΌ», «Π Π΅Π³ΠΈΠΎΠ½», Π° Π΄Π»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° «ΠΠΎΡΠΎΠ΄» — «ΠΠ°Π·Π²Π°Π½ΠΈΠ΅» ΠΈ «Π‘ΡΡΠ°Π½Π°».
Π£ΡΠΈΡΡΠ²Π°Ρ, ΡΡΠΎ Ρ ΡΠ°Π·Π½ΡΡ Π²ΠΈΠ΄ΠΎΠ² Π³Π΅ΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΈΠΌΠ΅ΡΡΡΡ ΠΎΠ±ΡΠΈΠ΅ ΠΏΠΎΠ»Ρ (Π² Ρ.Ρ. ΠΈ Ρ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌΡΡ Π½Π°ΠΌΠΈ), Π° ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±ΡΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π΄Π°Π½Π½ΡΡ , ΡΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠΎΠ² ΡΠ΅Π»Π΅ΡΠΎΠΎΠ±ΡΠ°Π·Π½ΠΎ Π½Π°ΡΠΈΠ½Π°ΡΡ Ρ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° — «ΠΠ΅ΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ» (GeographicObject). ΠΠ°Π½Π½ΡΠΉ ΠΊΠ»Π°ΡΡ Π»ΡΡΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠΌ (Ρ.Π΅. Π·Π°Π΄Π°ΡΡΠΈΠΌ ΡΠΎΠ»ΡΠΊΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π±Π°Π·ΠΎΠ²ΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ ΡΠ΅ΠΌ ΠΊΠ»Π°ΡΡΠ°ΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΠΎΡ Π½Π΅Π³ΠΎ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡΡΡ, Π±Π΅Π· Π΅Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ) Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° abstract.
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΠΊΠ»Π°ΡΡ, ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠΉ Π² Π»ΠΈΡΡΠΈΠ½Π³Π΅ 1.
ΠΠΈΡΡΠΈΠ½Π³ 1. ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° «ΠΠ΅ΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ».
abstract public class GeographicObject.
{.
protected string _name;
/// ΠΠ°Π·Π²Π°Π½ΠΈΠ΅.
virtual public string Name.
{.
get { return _name; }.
set { _name = value; }.
}.
abstract public string Description.
{.
get;
}.
abstract public string Category.
{.
get;
}.
abstract public string GetLocation ();
}.
ΠΠΎΠΌΠΈΠΌΠΎ ΡΠΆΠ΅ ΡΠΊΠ°Π·Π°Π½Π½ΡΡ ΠΎΠ±ΡΠΈΡ ΠΏΠΎΠ»Π΅ΠΉ ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΠΈΠΌ ΡΠ²ΠΎΠΉΡΡΠ², Π² Π±Π°Π·ΠΎΠ²ΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅ GeographicObject Π±ΡΠ»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ Description — Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ Π³Π΅ΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΈ Category — Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΡΠΈΠΏΠ΅ Π³Π΅ΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΠ±ΡΠ΅Π³ΠΎ Π΄Π»Ρ Π²ΡΠ΅Ρ Π²ΠΈΠ΄ΠΎΠ² Π³Π΅ΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄Π° Π² Π±Π°Π·ΠΎΠ²ΡΠΉ ΠΊΠ»Π°ΡΡ Π±ΡΠ» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΌΠ΅ΡΠΎΠ΄ GetLocation () Π΄Π»Ρ Π·Π°Π΄Π°Π½ΠΈΡ ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π³Π΅ΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°. Π’Π°ΠΊΠΆΠ΅ ΡΡΠΎΠΈΡ ΠΎΠ±ΡΠ°ΡΠΈΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π²ΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ, Π½Π΅ ΠΈΠΌΠ΅ΡΡΠΈΠ΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ, Π² Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡΡΡ ΠΊΠ°ΠΊ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠ΅ (ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ abstract). ΠΡΠ»ΠΈ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ ΠΈΠ»ΠΈ ΠΌΠ΅ΡΠΎΠ΄ ΠΈΠΌΠ΅Π΅Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ, ΡΠΎ Π΅Π³ΠΎ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡ ΠΊΠ»ΡΡΠ΅Π²ΡΠΌ ΡΠ»ΠΎΠ²ΠΎΠΌ virtual.
Π£ΡΠΈΡΡΠ²Π°Ρ ΡΠΎΡ ΡΠ°ΠΊΡ, ΡΡΠΎ, ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ Π·Π°Π΄Π°ΡΠ΅, Π½Π°ΡΠ»Π΅Π΄ΡΠ΅ΠΌΡΠ΅ ΠΊΠ»Π°ΡΡΡ Π±ΡΠ΄ΡΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡΡΡ Π² ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ, ΡΠΎ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌ Π±ΡΠ»ΠΎ Π±Ρ ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅ΡΡ Π² Π±Π°Π·ΠΎΠ²ΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ. ΠΠΎΡΡΠΎΠΌΡ Π΄Π»Ρ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΠΌΠΎΠΆΠ½ΠΎ ΡΠ½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ IComparable Π±Π΅Π· ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ. Π ΠΈΡΠΎΠ³Π΅ Π½Π°Ρ Π±Π°Π·ΠΎΠ²ΡΠΉ ΠΊΠ»Π°ΡΡ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° Π»ΠΈΡΡΠΈΠ½Π³Π΅ 2.
ΠΠΈΡΡΠΈΠ½Π³ 2. ΠΠΎΠ»Π½ΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° «ΠΠ΅ΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ».
abstract public class GeographicObject: IComparable.
{.
protected string _name;
/// ΠΠ°Π·Π²Π°Π½ΠΈΠ΅.
virtual public string Name.
{.
get { return _name; }.
set { _name = value; }.
}.
abstract public string Description.
{.
get;
}.
abstract public string Category.
{.
get;
}.
abstract public string GetLocation ();
#region Π§Π»Π΅Π½Ρ IComparable.
virtual public int CompareTo (object obj).
{.
throw new NotImplementedException ();
}.
#endregion.
}.
ΠΠΎΡΠ»Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π½Π°ΡΠ»Π΅Π΄ΡΠ΅ΠΌΡΡ ΠΎΡ Π½Π΅Π³ΠΎ ΠΊΠ»Π°ΡΡΠΎΠ² «Π Π΅ΠΊΠ°» (River) ΠΈ «ΠΠΎΡΠΎΠ΄» (Town) (Π»ΠΈΡΡΠΈΠ½Π³ 3).
ΠΠΈΡΡΠΈΠ½Π³ 3. ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠΎΠ² «Π Π΅ΠΊΠ°» ΠΈ «ΠΠΎΡΠΎΠ΄».
/// ΠΠΎΡΠΎΠ΄.
public class Town: GeographicObject.
{.
string _country;
public string Country.
{.
get { return _country; }.
set { _country = value; }.
}.
public Town ().
{.
_name = «ΠΠΎΡΠΎΠ΄ Π±Π΅Π· Π½Π°Π·Π²Π°Π½ΠΈΡ» ;
_country = «» ;
}.
public Town (string name, string country).
{.
_name = name;
_country = country;
}.
public override string ToString ().
{.
return _name;
}.
public override string Category.
{.
get { return «ΠΠΎΡΠΎΠ΄»; }.
}.
public override string GetLocation ().
{.
return _country;
}.
public override string Description.
{.
get { return «ΠΠΎΡΠΎΠ΄ «+ _name + «Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΡΡΡΠ°Π½Π΅ «+ _country; }.
}.
public override int CompareTo (object obj).
{.
if (obj is GeographicObject).
{.
if (obj is Town).
{.
return _name.CompareTo (((Town)obj).Name);
}.
else.
{.
return this.Category.CompareTo (((GeographicObject)obj).Category);
}.
}.
else.
{.
return 1;
}.
}.
}.
/// Π Π΅ΠΊΠ°.
public class River: GeographicObject.
{.
string _water;
/// ΠΠΎΠ΄ΠΎΠ΅ΠΌ.
public string Water.
{.
get { return _water; }.
set { _water = value; }.
}.
/// Π Π΅Π³ΠΈΠΎΠ½.
string _region;
public string Region.
{.
get { return _region; }.
set { _region = value; }.
}.
public River ().
{.
_name = «ΠΠ΅Π·ΡΠΌΡΠ½Π½Π°Ρ ΡΠ΅ΠΊΠ°» ;
_water = «» ;
_region = «» ;
}.
public River (string name, string water, string region).
{.
if (name == «» || water == «» || region == «»).
{.
throw new DataNotFilledException («ΠΠ°Π½Π½ΡΠ΅ Π½Π΅ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Ρ»);
}.
else.
{.
_name = name;
_water = water;
_region = region;
}.
}.
public override string ToString ().
{.
return _name;
}.
public override string Category.
{.
get { return «Π Π΅ΠΊΠ°»; }.
}.
public override string GetLocation ().
{.
return _region;
}.
public override string Description.
{.
get { return «Π Π΅ΠΊΠ° «+ _name + «Π²ΠΏΠ°Π΄Π°Π΅Ρ Π² «+ _water + «. ΠΠ°ΡΡΠ΅ΠΉΠ½ ΡΡΠΎΠΉ ΡΠ΅ΠΊΠΈ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ Π² «+ _region; }.
}.
public override int CompareTo (object obj).
{.
if (obj is GeographicObject).
{.
if (obj is River).
{.
return _name.CompareTo (((River)obj).Name);
}.
else.
{.
return this.Category.CompareTo (((GeographicObject)obj).Category);
}.
}.
else.
{.
return 1;
}.
}.
}.
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π»ΠΈΡΡΠΈΠ½Π³Π΅ ΠΎΡΠΎΠ±ΠΎΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΎΠ±ΡΠ°ΡΠΈΠΌ Π½Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΌΠ΅ΡΠΎΠ΄Π° CompareTo, Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° IComparable. Π‘ΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΡΠ»ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡ Π½Π΅ ΡΠ½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ ΠΎΡ ΠΊΠ»Π°ΡΡΠ° GeographicObject, ΡΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌ (Ρ.Π΅. Π½Π°Ρ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΌΠ΅Π½ΡΡΠ΅ ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ).
ΠΡΠ»ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡ ΡΠ½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ ΠΎΡ ΠΊΠ»Π°ΡΡΠ° River (ΠΏΡΠΈ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΈ Π² ΠΊΠ»Π°ΡΡΠ΅ River) ΠΈΠ»ΠΈ Town (ΠΏΡΠΈ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΈ Π² ΠΊΠ»Π°ΡΡΠ΅ Town), ΡΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎ Π½Π°Π·Π²Π°Π½ΠΈΡ ΡΠ΅ΠΊΠΈ.
ΠΠ½Π°ΡΠ΅ (ΠΎΠ±ΡΠ΅ΠΊΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Π³Π΅ΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ, Π½ΠΎ Π½Π΅ ΡΠ΅ΠΊΠΎΠΉ ΠΈΠ»ΠΈ Π³ΠΎΡΠΎΠ΄ΠΎΠΌ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ), ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ.
Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ² River ΠΈ Town ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ°ΠΊΠΆΠ΅ ΠΈ ΠΏΠΎ Π΄Π²Π° ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ° — ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΈ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ. ΠΠΎΠΌΠΈΠΌΠΎ ΡΡΠΎΠ³ΠΎ, Π² ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ΅ ΠΊΠ»Π°ΡΡΠ° River Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ DataNotFilledException Π² ΡΠ»ΡΡΠ°Π΅ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ². ΠΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠ° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ DataNotFilledException ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΎ Π² Π»ΠΈΡΡΠΈΠ½Π³Π΅ 4.
ΠΠΈΡΡΠΈΠ½Π³ 4. ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ — DataNotFilledException.
[global:System.Serializable].
public class DataNotFilledException: Exception.
{.
public DataNotFilledException ().
{.
}.
public DataNotFilledException (string message).
: base (message).
{.
}.
public DataNotFilledException (string message, Exception inner).
: base (message, inner).
{.
}.
protected DataNotFilledException (System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context).
: base (info, context).
{.
}.
}.
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π²ΠΎΠΏΡΠΎΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠ»Π°ΡΡΠ° ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΠΎΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ Ρ ΡΠ°Π½ΠΈΡΡ ΠΊΠ°ΠΊ ΡΠ΅ΠΊΠΈ, ΡΠ°ΠΊ ΠΈ Π³ΠΎΡΠΎΠ΄Π° — GeographicObjectsCollection. Π ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΈΠΌΠ΅Π½ System.Collection. Net Framework ΠΈΠΌΠ΅ΡΡΡΡ ΠΊΠ»Π°ΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΡΠΈΠΏΠΎΠ² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ:
ArrayList — ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ IList Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ°ΡΡΠΈΠ²Π° Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΌ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π΄ΠΎ Π½ΡΠΆΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ.
BitArray — ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½ΡΠΌ Π±ΠΈΡΠΎΠ²ΡΠΌ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ, Π³Π΄Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ true ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ 1, Π° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ false ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ 0.
Hashtable — ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΠΏΠ°Ρ ΠΊΠ»ΡΡ/Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Ρ ΠΏΠΎ Ρ ΡΡ-ΠΊΠΎΠ΄Ρ ΠΊΠ»ΡΡΠ°.
Queue — ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΠΏΠΎ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ «ΠΏΠ΅ΡΠ²ΡΠΌ ΠΏΠΎΡΡΡΠΏΠΈΠ» — ΠΏΠ΅ΡΠ²ΡΠΌ ΠΎΠ±ΡΠ»ΡΠΆΠ΅Π½».
SortedList — ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΠΏΠ°Ρ «ΠΊΠ»ΡΡ-Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅», ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½ΡΡ ΠΏΠΎ ΠΊΠ»ΡΡΠ°ΠΌ. ΠΠΎΡΡΡΠΏ ΠΊ ΠΏΠ°ΡΠ°ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΠΎ ΠΊΠ»ΡΡΡ ΠΈ ΠΏΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΡ.
Stack — ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΡΠΎΡΡΡΡ Π½Π΅ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΡΠΈΠΏΠ° «ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ ΠΏΡΠΈΡΠ΅Π» — ΠΏΠ΅ΡΠ²ΡΠΌ Π²ΡΡΠ΅Π»» (LIFO).
Π’Π°ΠΊΠΆΠ΅ Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΈΠΌΠ΅Π½ System.Collection. Net Framework ΠΈΠΌΠ΅ΡΡΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½Π΅ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ:
ICollection — ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠ°Π·ΠΌΠ΅Ρ, ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΡΠ΅Π»ΠΈ ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ Π΄Π»Ρ Π²ΡΠ΅Ρ Π½Π΅ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ.
IComparer — ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΌΠ΅ΡΠΎΠ΄ Π΄Π»Ρ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Π΄Π²ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ².
IDictionary — ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ Π½Π΅Π±Π°Π·ΠΎΠ²ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΠΏΠ°Ρ «ΠΊΠ»ΡΡ-Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅».
IEnumerable — ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΡΠ΅Π»Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΠ΅ΡΠ΅Π±ΠΎΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π½Π΅ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ.
IEnumerator — ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΠ΅ΡΠ΅Π±ΠΎΡ ΠΏΠΎ Π½Π΅ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ.
IList — ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ Π½Π΅ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Ρ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡΠ°Π»ΡΠ½ΡΠΌ Π΄ΠΎΡΡΡΠΏΠΎΠΌ, ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΠΌΡΠΌ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠ°.
ΠΠ»Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ΄ΠΎΠ±Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Ρ ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΠΎΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠ΅ΠΉ Π³Π΅ΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ΄Π°ΡΠ½ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ IList, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈ Π±ΡΠ΄Π΅ΠΌ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡ. ΠΠ»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π³Π΅ΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π²Π½ΡΡΡΠΈ ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΠΎΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΌΠΈ ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡΠΌΠΈ:
Π΄Π»Ρ ΡΠ΅ΠΊ — ΡΠ»ΠΎΠ²Π°ΡΡ Ρ ΡΠΈΡΠ»ΠΎΠ²ΡΠΌ ΠΊΠ»ΡΡΠΎΠΌ Dictionary;
Π΄Π»Ρ Π³ΠΎΡΠΎΠ΄ΠΎΠ² — ΡΠΏΠΈΡΠΎΠΊ List.
Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° IList Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΈ ΡΠ²ΠΎΠΉΡΡΠ²:
Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ — public int Add (object value);
ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π²ΡΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ — public void Clear ();
ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° Π½Π°Π»ΠΈΡΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ — public bool Contains (object value);
ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠ° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ — public int IndexOf (object value);
Π²ΡΡΠ°Π²ΠΊΠ° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ Π² Π·Π°Π΄Π°Π½Π½ΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΡ — public void Insert (int index, object value);
ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΈΠ· ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ — public void Remove (object value);
ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΈΠ· ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΠΏΠΎ Π΅Π³ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΡ — public void RemoveAt (int index);
ΠΏΡΠΈΠ·Π½Π°ΠΊ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΏΠΎ ΡΠ°Π·ΠΌΠ΅ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ — public bool IsFixedSize;
ΠΏΡΠΈΠ·Π½Π°ΠΊ, ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΠΈΠΉ, ΡΡΠΎ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ Π΄ΠΎΡΡΡΠΏΠ½Π° ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ — public bool IsReadOnly;
Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΏΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΡ — public object this[int index].
ΠΡΠΈΠΌΠ΅Ρ ΡΠ°ΡΡΠΈΡΠ½ΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° IList ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ Π² Π»ΠΈΡΡΠΈΠ½Π³Π΅ 5.
ΠΠΈΡΡΠΈΠ½Π³ 5. Π§Π°ΡΡΠΈΡΠ½Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° IList.
public int Add (object value).
{.
if (value is Town).
{.
_towns.Add ((Town)value);
if (CollectionChanged ≠ null).
{.
CollectionChanged (this, EventArgs. Empty);
}.
return _towns.Count + _rivers.Count;
}.
if (value is River).
{.
_rivers.Add (_rivers.Count, ((River)value));
if (CollectionChanged ≠ null).
{.
CollectionChanged (this, EventArgs. Empty);
}.
return _towns.Count + _rivers.Count;
}.
return -1;
}.
public void Clear ().
{.
_towns.Clear ();
_rivers.Clear ();
if (CollectionChanged ≠ null).
{.
CollectionChanged (this, EventArgs. Empty);
}.
}.
public bool Contains (object value).
{.
if (value is Town).
{.
return _towns.Contains ((Town)value);
}.
if (value is River).
{.
return _rivers.ContainsValue ((River)value);
}.
else.
{.
return false;
}.
}.
public int IndexOf (object value).
{.
if (value is Town).
{.
return _towns.IndexOf ((Town)value) + _rivers.Count;
}.
if (value is River).
{.
for (int i = 0; i < _rivers.Count; i++).
{.
if (_rivers[i]. CompareTo (value) == 0) return i;
}.
return -1;
}.
else.
{.
return -1;
}.
}.
public void Insert (int index, object value).
{.
throw new NotImplementedException ();
}.
[XmlIgnore].
public bool IsFixedSize.
{.
get { return false; }.
}.
[XmlIgnore].
public bool IsReadOnly.
{.
get { return false; }.
}.
public void Remove (object value).
{.
throw new NotImplementedException ();
}.
public void RemoveAt (int index).
{.
throw new NotImplementedException ();
}.
public object this[int index].
{.
get.
{.
if (index >= 0).
{.
if (index < _rivers.Count).
{.
return _rivers[index];
}.
else.
{.
return _towns[index — _rivers.Count];
}.
}.
else.
{.
return null;
}.
}.
set.
{.
throw new NotImplementedException ();
}.
}.
Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ IList Π½Π°ΡΠ»Π΅Π΄ΡΠ΅ΡΡΡ ΠΎΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² ICollection ΠΈ IEnumerable, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΡΡΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ². ΠΡΠΈΠΌΠ΅Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ Π² Π»ΠΈΡΡΠΈΠ½Π³Π΅ 6.
ΠΠΈΡΡΠΈΠ½Π³ 6. Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² ICollection ΠΈ IEnumerable.
#region Π§Π»Π΅Π½Ρ ICollection.
public void CopyTo (Array array, int index).
{.
throw new NotImplementedException ();
}.
public int Count.
{.
get { return _towns.Count + _rivers.Count; }.
}.
public bool IsSynchronized.
{.
get { return false; }.
}.
public object SyncRoot.
{.
get { return null; }.
}.
#endregion.
#region Π§Π»Π΅Π½Ρ IEnumerable.
public IEnumerator GetEnumerator ().
{.
throw new NotImplementedException ();
}.
#endregion.
ΠΠ»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΡΡΠ°Π²Π½ΠΈΠΌΠΎΡΡΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ (ΡΡΠΎ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΎ ΠΏΡΠΈ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ) ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° IComparer (Π»ΠΈΡΡΠΈΠ½Π³ 7).
ΠΠΈΡΡΠΈΠ½Π³ 7. Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° IComparer.
#region Π§Π»Π΅Π½Ρ IComparer.
public int Compare (GeographicObject x, GeographicObject y).
{.
return x. CompareTo (y);
}.
#endregion.
ΠΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ.
ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΠΌΠΈ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π½Π° Π³Π»Π°Π²Π½ΡΡ ΡΠΎΡΠΌΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²ΠΊΠ»Π°Π΄ΠΊΠ°ΠΌΠΈ — TabControl. ΠΠ°Π½Π½Π°Ρ ΡΠΎΡΠΌΠ° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ΅ΡΡΡΠ΅ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ Π³Π΅ΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² — «ΠΠΎΠ±Π°Π²ΠΈΡΡ Π³ΠΎΡΠΎΠ΄», «ΠΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ΅ΠΊΡ», «ΠΡΠΎΡΠΌΠΎΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ» ΠΈ «ΠΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ».
ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π΅ΠΌ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ:
UserControlAddRiver — Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ΅ΠΊΠΈ;
UserControlAddTown — Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π³ΠΎΡΠΎΠ΄Π°;
UserControlSortedView — ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ;
UserControlViewCollection — ΠΏΡΠΎΡΠΌΠΎΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ.
Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· Π½Π°ΡΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠ΅ΠΉ, ΡΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΠΌ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π½Π° ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ (Π»ΠΈΡΡΠΈΠ½Π³ 8).
ΠΠΈΡΡΠΈΠ½Π³ 8. ΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΊΠ»Π°ΡΡΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ «ΠΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ΅ΠΊΡ».
public UserControlAddRiver (GeographicObjectsCollection collection).
{.
InitializeComponent ();
_collection = collection;
collection.CollectionChanged += new EventHandler (collection_CollectionChanged);
}.
ΠΠΎΡΠ»Π΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΈΡ Π½Π° Π³Π»Π°Π²Π½ΡΡ ΡΠΎΡΠΌΡ. Π‘Π΄Π΅Π»Π°Π΅ΠΌ ΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎ Π² ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ΅ ΠΊΠ»Π°ΡΡΠ° Π³Π»Π°Π²Π½ΠΎΠΉ ΡΠΎΡΠΌΡ (Π»ΠΈΡΡΠΈΠ½Π³ 9).
ΠΠΈΡΡΠΈΠ½Π³ 9. ΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΊΠ»Π°ΡΡΠ° Π³Π»Π°Π²Π½ΠΎΠΉ ΡΠΎΡΠΌΡ.
public FormMain ().
{.
InitializeComponent ();
UserControlAddTown ucat = new UserControlAddTown (_collection);
ucat.Dock = DockStyle. Fill;
tabPageAddTown.Controls.Add (ucat);
UserControlAddRiver ucar = new UserControlAddRiver (_collection);
ucar.Dock = DockStyle. Fill;
tabPageAddRiver.Controls.Add (ucar);
UserControlViewCollection ucvw = new UserControlViewCollection (_collection);
ucvw.Dock = DockStyle. Fill;
tabPageViewCollection.Controls.Add (ucvw);
UserControlSortedView ucsw = new UserControlSortedView (_collection);
ucsw.Dock = DockStyle. Fill;
tabPageSortView.Controls.Add (ucsw);
}.
ΠΠ»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ Π³Π΅ΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΠΌ XML-ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ. ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΈΡΠΊΠ»ΡΡΠΈΡΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΈ ΠΏΠΎΠ»Ρ ΡΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΈΠ· ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡ ΠΏΠΎΠΌΠ΅ΡΠΈΡΡ Π°ΡΡΠΈΠ±ΡΡΠΎΠΌ XmlIgnore. ΠΠΎΠ΄ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ»Π°ΡΡΠΎΠ² XML-ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ Π² Π»ΠΈΡΡΠΈΠ½Π³Π΅ 10.
ΠΠΈΡΡΠΈΠ½Π³ 10. XML-ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈ Π΄Π΅ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ.
private void ΡΠΎΡ ΡΠ°Π½ΠΈΡΡToolStripMenuItem_Click (object sender, EventArgs e).
{.
if (saveFileDialogMain.ShowDialog () == DialogResult. OK).
{.
XmlSerializer xs = new XmlSerializer (typeof (GeographicObjectsCollection), new Type[2] { typeof (Town), typeof (River) });
StreamWriter sw = new StreamWriter (saveFileDialogMain.FileName);
xs.Serialize (sw, _collection);
sw.Flush ();
sw.Close ();
}.
}.
private void ΠΎΡΠΊΡΡΡΡToolStripMenuItem_Click (object sender, EventArgs e).
{.
if (openFileDialogMain.ShowDialog () == DialogResult. OK).
{.
XmlSerializer xs = new XmlSerializer (typeof (GeographicObjectsCollection), new Type[2] { typeof (Town), typeof (River) });
StreamReader sr = new StreamReader (openFileDialogMain.FileName);
GeographicObjectsCollection newCollection = (GeographicObjectsCollection)(xs.Deserialize (sr));
_collection.Clear ();
for (int i = 0; i < newCollection. Count; i++).
{.
_collection.Add (newCollection[i]);
}.
sr.Close ();
}.
}.
ΠΠΎΠ»Π½ΠΎΡΡΡΡ Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ ΡΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ: ftp://iipo.tu-bryansk.ru/pub/DotNet/Lab2/LabWork2Sample.zip.
ΠΠ°Π΄Π°Π½ΠΈΠ΅
- 1. Π‘ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠ»Π°ΡΡΡ ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠ΅ΠΉ Π³Π΅ΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΡΠ°Π·Π½ΡΡ ΡΠΈΠΏΠΎΠ², ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΌΡ Π²Π°ΡΠΈΠ°Π½ΡΡ (ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 1).
- 2. ΠΡΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ:
Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π±Π°Π·ΠΎΠ²ΡΠΉ ΠΊΠ»Π°ΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ Π²ΠΈΠ΄ΠΎΠ² Π³Π΅ΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ².
Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ 2 ΠΊΠ»Π°ΡΡΠ° ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΡ Π³Π΅ΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΡΠ½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½Π½ΡΡ ΠΎΡ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ, ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ Π²Π°ΡΠΈΠ°Π½ΡΡ.
Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ»Π°ΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ (Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 2-Ρ ) ΠΈ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡ Π² ΠΊΠ»Π°ΡΡΠ°Ρ Π³Π΅ΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ².
Π Π°Π·ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΊΠ»Π°ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ IList, IComparer ΠΈ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡΠΈΠΉ ΡΠΎΠ±ΠΎΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΡΠ°Π·Π½ΡΡ Π²ΠΈΠ΄ΠΎΠ² Π³Π΅ΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π² Π΅Π΄ΠΈΠ½ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ. ΠΠ»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π° Π³Π΅ΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΈΠΏ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ, ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ Π²Π°ΡΠΈΠ°Π½ΡΡ.
ΠΠΎΡΡΡΠΏ ΠΊ ΡΠ»Π΅Π½Π°ΠΌ-Π΄Π°Π½Π½ΡΠΌ Π²ΡΠ΅Ρ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΡΡ ΠΊΠ»Π°ΡΡΠΎΠ² Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΡΠ΅Π· ΡΠ²ΠΎΠΉΡΡΠ²Π°.
* Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΠΏΠΎ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΌΡ ΠΏΠΎΠ»Ρ.
Π ΠΊΠ»Π°ΡΡΠ΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ ΡΠΎΠ±ΡΡΠΈΠΉ: Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°, ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°.
- * ΠΠΌΠ΅ΡΡΠΎ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ ΠΏΡΠ½ΠΊΡΠ° Π² ΠΊΠ»Π°ΡΡΠ΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΠΎΠ±ΡΡΠΈΠΉ (ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΊΠ»Π°ΡΡΡ): ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ° ΠΊ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΠΎΡΠΌΠ΅Π½Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ ΡΡΠΏΠ΅ΡΠ½ΠΎ, ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ° ΠΊ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΠΎΡΠΌΠ΅Π½Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ, ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ ΡΡΠΏΠ΅ΡΠ½ΠΎ.
- 3. ΠΡΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄Π»Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ Π·Π°Π΄Π°Ρ:
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° 1-Π³ΠΎ ΡΠΈΠΏΠ° Π³Π΅ΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°.
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° 2-Π³ΠΎ ΡΠΈΠΏΠ° Π³Π΅ΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°.
ΠΡΠΎΡΠΌΠΎΡΡ ΡΠΏΠΈΡΠΊΠ° Π³Π΅ΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ — ListView.
ΠΡΠΎΡΠΌΠΎΡΡ ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ° Π³Π΅ΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Π΅Π³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ². ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ — DataGridView.
- * ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΊ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌΡ ΠΏΡΠ½ΠΊΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΡΠ±ΠΎΡΠ° ΠΏΠΎΠ»Ρ, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ°.
- 4. ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΠΎΠ±ΡΡΠΈΡ ΠΎΡ ΠΊΠ»Π°ΡΡΠ° ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ.
- 5. * ΠΠ»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π² ΡΠ°ΠΉΠ» ΠΈ Π΄Π΅ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈΠ· ΡΠ°ΠΉΠ»Π°.
ΠΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ.
- 1. ΠΠ°ΠΊΠΈΠ΅ Π²ΠΈΠ΄Ρ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΎΠΉ Microsoft .NET?
- 2. ΠΠ°ΠΊ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΡΡ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ Π½Π° ΡΠ·ΡΠΊΠ΅ C#?
- 3. ΠΠ°ΠΊΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ IComparable? ΠΠ°ΠΊΠΎΠ²ΠΎ ΠΈΡ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅?
- 4. ΠΠΏΠΈΡΠΈΡΠ΅ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ.
- 5. ΠΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΡΠ΅ ΠΊΠ»Π°ΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΈΠΌΠ΅Π½ System. Collection .NET Framework.
- 6. ΠΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° IList. ΠΠ°ΠΊΠΎΠ²ΠΎ ΠΈΡ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅?
- 7. Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ? Π§Π΅ΠΌ ΠΎΠ½ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ?
- 8. ΠΠΏΠΈΡΠΈΡΠ΅ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ.
- 9. ΠΠ°ΠΊΠΈΠ΅ ΠΊΠ»Π°ΡΡΡ ΠΈ Π°ΡΡΠΈΠ±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ XML-ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈ XML-Π΄Π΅ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π² .NET Framework?
ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΊΠ»Π°ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ.
Π‘ΠΏΠΈΡΠΎΠΊ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌΠΎΠΉ Π»ΠΈΡΠ΅ΡΠ°ΡΡΡΡ
- 1. ΠΠ΅ΠΉΠ³Π΅Π½, Π. C# ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° .NET 3.0 Π΄Π»Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΠΎΠ²: [ΠΏΠ΅Ρ. Ρ Π°Π½Π³Π».] / Π. ΠΠ΅ΠΉΠ³Π΅Π½, Π. ΠΠ²ΡΠ΅Π½, ΠΠΆ. ΠΠ»ΠΈΠ½Π½, Π. Π‘ΠΊΠΈΠ½Π½Π΅Ρ, Π.Π£ΠΎΡΡΠΎΠ½. — Π.: ΠΠΈΠ»ΡΡΠΌΡ, 2008. — 1376+416 (Π½Π° CD) Ρ.
- 2. ΠΠ΅Ρ, Π’. C# 2008: ΡΡΠΊΠΎΡΠ΅Π½Π½ΡΠΉ ΠΊΡΡΡ Π΄Π»Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΠΎΠ²: [ΠΏΠ΅Ρ. Ρ Π°Π½Π³Π».] / Π’. ΠΠ΅Ρ — Π.: ΠΠΈΠ»ΡΡΠΌΡ, 2008. — 576 Ρ.
- 3. Π‘Π½Π΅Π»Π», Π. Microsoft Visual Studio 2008 / Π. Π‘Π½Π΅Π»Π», Π.ΠΠ°ΡΡΡΡ. — Π‘ΠΠ±: ΠΠ₯Π-ΠΠ΅ΡΠ΅ΡΠ±ΡΡΠ³, 2009. — 1200 Ρ.
- 4. Π’ΡΠΎΠ΅Π»ΡΠ΅Π½, Π. Π‘# 2008 ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° .NET 3.5 Framework / Π.Π’ΡΠΎΠ΅Π»ΡΠ΅Π½. — 4-Π΅ ΠΈΠ·Π΄. — Π.: ΠΠΈΠ»ΡΡΠΌΡ, 2009. — 1368 Ρ.
- 5. Π ΠΈΡ ΡΠ΅Ρ, ΠΠΆ. CLR via C#. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅ Microsoft .NET Framework 2.0 Π½Π° ΡΠ·ΡΠΊΠ΅ C#. ΠΠ°ΡΡΠ΅Ρ-ΠΊΠ»Π°ΡΡ: [ΠΏΠ΅Ρ. Ρ Π°Π½Π³Π».] / ΠΠΆ.Π ΠΈΡ ΡΠ΅Ρ. — Π.: Π ΡΡΡΠΊΠ°Ρ Π Π΅Π΄Π°ΠΊΡΠΈΡ; Π‘ΠΠ±.: ΠΠΈΡΠ΅Ρ, 2007. — 656 Ρ.
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΠ°ΡΠΈΠ°Π½ΡΡ Π·Π°Π΄Π°Π½ΠΈΠΉ.
β ΠΠ°ΡΠΈΠ°Π½ΡΠ°. | 1-ΠΉ Π²ΠΈΠ΄ Π³Π΅ΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ². | 2-ΠΉ Π²ΠΈΠ΄ Π³Π΅ΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ². | ΠΠΈΠ΄ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ Π΄Π»Ρ 1-Π³ΠΎ Π²ΠΈΠ΄Π° Π³Π΅ΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ². | ΠΠΈΠ΄ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ Π΄Π»Ρ 2-Π³ΠΎ Π²ΠΈΠ΄Π° Π³Π΅ΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ². |
ΠΠΎΡΠΎΠ΄Π°. | ΠΠΎΡΠ½ΡΠ΅ Π²Π΅ΡΡΠΈΠ½Ρ. | List. | LinkedList. | |
ΠΠΎΡΡ. | ΠΠ°Π»ΠΈΠ²Ρ. | Dictionary. | LinkedList. | |
ΠΠ·Π΅ΡΠ°. | ΠΡΡΡΠΎΠ²Π°. | LinkedList. | ArrayList. | |
ΠΡΠΎΠ»ΠΈΠ²Ρ. | ΠΠΎΡΡ. | ArrayList. | SortedDictionary. | |
ΠΠΎΡΡ. | ΠΠ·Π΅ΡΠ°. | SortedDictionary. | SynchronizedCollection. | |
ΠΠΎΡΡΠΊΠΈΠ΅ Π²ΠΏΠ°Π΄ΠΈΠ½Ρ. | ΠΡΡΡΠΎΠ²Π°. | SynchronizedCollection. | Dictionary. | |
Π Π΅ΠΊΠΈ. | ΠΠΎΡΠ½ΡΠ΅ Π²Π΅ΡΡΠΈΠ½Ρ. | Dictionary. | SortedDictionary. | |
ΠΡΡΡΠΎΠ²Π°. | ΠΡΠΎΠ»ΠΈΠ²Ρ. | SortedDictionary. | List. | |
ΠΠ°Π»ΠΈΠ²Ρ. | ΠΠΎΡΠΎΠ΄Π°. | List. | ArrayList. | |
ΠΠΎΡΠ½ΡΠ΅ Π²Π΅ΡΡΠΈΠ½Ρ. | ΠΠ·Π΅ΡΠ°. | Dictionary. | ArrayList. | |
ΠΠΎΡΠΎΠ΄Π°. | ΠΠΎΡΡΠΊΠΈΠ΅ Π²ΠΏΠ°Π΄ΠΈΠ½Ρ. | LinkedList. | SortedDictionary. | |
ΠΠΎΡΡ. | ΠΠΊΠ΅Π°Π½ΡΠΊΠΈΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ. | ArrayList. | SynchronizedCollection. | |
ΠΠ·Π΅ΡΠ°. | ΠΠΎΡΡ. | SortedDictionary. | Dictionary. | |
ΠΡΠΎΠ»ΠΈΠ²Ρ. | Π Π΅ΠΊΠΈ. | SynchronizedCollection. | SortedDictionary. | |
ΠΠΎΡΡ. | ΠΠΎΡΠ½ΡΠ΅ Π²Π΅ΡΡΠΈΠ½Ρ. | Dictionary. | List. | |
ΠΠΎΡΡΠΊΠΈΠ΅ Π²ΠΏΠ°Π΄ΠΈΠ½Ρ. | ΠΠΎΡΡ. | SortedDictionary. | LinkedList. | |
Π Π΅ΠΊΠΈ. | ΠΠΊΠ΅Π°Π½ΡΠΊΠΈΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ. | List. | SortedDictionary. | |
ΠΡΡΡΠΎΠ²Π°. | ΠΠΎΡΡ. | Dictionary. | SortedDictionary. | |
ΠΠ°Π»ΠΈΠ²Ρ. | ΠΠΊΠ΅Π°Π½ΡΠΊΠΈΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ. | LinkedList. | SynchronizedCollection. | |
ΠΠΎΡΠ½ΡΠ΅ Π²Π΅ΡΡΠΈΠ½Ρ. | ΠΡΠΎΠ»ΠΈΠ²Ρ. | ArrayList. | Dictionary. | |
ΠΠΎΡΠΎΠ΄Π°. | ΠΠ·Π΅ΡΠ°. | SortedDictionary. | SortedDictionary. | |
ΠΡΡΡΠΎΠ²Π°. | ΠΠ°Π»ΠΈΠ²Ρ. | SynchronizedCollection. | Dictionary. | |
ΠΠ·Π΅ΡΠ°. | Π Π΅ΠΊΠΈ. | Dictionary. | LinkedList. | |
ΠΡΠΎΠ»ΠΈΠ²Ρ. | ΠΠΎΡΡΠΊΠΈΠ΅ Π²ΠΏΠ°Π΄ΠΈΠ½Ρ. | SortedDictionary. | ArrayList. | |
ΠΠΎΡΡ. | ΠΡΡΡΠΎΠ²Π°. | List. | SynchronizedCollection. |