ะ ะตัˆะตะฝะพ: ะฒะทะตะผะตั‚ะต ะบะพะผะฟัŽั‚ัŠั€ะตะฝ ะตะทะธะบ

ะกั‚ะฐั‚ะธัั‚ะฐ ะทะฐ ะบะพะผะฟัŽั‚ัŠั€ะฝะธั ะตะทะธะบ ั‰ะต ะธะทะณะปะตะถะดะฐ ั‚ะฐะบะฐ:

ะ•ะทะธะบัŠั‚ ะฝะฐ ะบะพะผะฟัŽั‚ั€ะธั‚ะต ั„ะพั€ะผะธั€ะฐ ะณั€ัŠะฑะฝะฐะบะฐ ะฝะฐ ััŠะฒั€ะตะผะตะฝะฝะธั ะดะธะณะธั‚ะฐะปะตะฝ ัะฒัั‚. ะ—ะฐ ะดะฐ ะฟะพะดะพะฑั€ะธะผ ั€ะฐะทะฑะธั€ะฐะฝะตั‚ะพ ะฝะฐ ั‚ะพะทะธ ะตะทะธะบ, ะฝะตะบะฐ ัะต ะฒะฟัƒัะฝะตะผ ะฒ ะดัŠะปะฑะพะบะพั‚ะพ ะณะผัƒั€ะบะฐะฝะต ะฒ ัะฒะตั‚ะฐ ะฝะฐ ะฟั€ะพะณั€ะฐะผะธั€ะฐะฝะตั‚ะพ, ะบะฐั‚ะพ ัะต ั„ะพะบัƒัะธั€ะฐะผะต ะบะพะฝะบั€ะตั‚ะฝะพ ะฒัŠั€ั…ัƒ C#, ะพะฑะตะบั‚ะฝะพ-ะพั€ะธะตะฝั‚ะธั€ะฐะฝ ะตะทะธะบ, ั€ะฐะทั€ะฐะฑะพั‚ะตะฝ ะพั‚ Microsoft ะทะฐ ะฟะปะฐั‚ั„ะพั€ะผะฐั‚ะฐ .NET.

ะ’ะธะถั‚ะต ะฟะพะฒะตั‡ะต

ะ ะตัˆะตะฝะพ: ัะปัƒั‡ะฐะนะฝะธ ะธะฝั‚

ะ—ะฐ ะดะฐ ะธะทะพะฑั€ะฐะทะธะผ ัะปะพะถะฝะพัั‚ั‚ะฐ ะฝะฐ ั‚ะพะฒะฐ, ะฝะตะบะฐ ะฒะทะตะผะตะผ ะฟั€ะธะผะตั€ ะทะฐ ะณะตะฝะตั€ะธั€ะฐะฝะต ะฝะฐ ะฟั€ะพะธะทะฒะพะปะฝะธ ั†ะตะปะธ ั‡ะธัะปะฐ ะฒ C#.

ะ’ ะฟั€ะพะณั€ะฐะผะธั€ะฐะฝะตั‚ะพ ะฟั€ะพะธะทะฒะพะปะฝะธั‚ะต ั‡ะธัะปะฐ ัะต ะธะทะฟะพะปะทะฒะฐั‚ ะทะฐ ั€ะฐะทะปะธั‡ะฝะธ ั†ะตะปะธ, ะพั‚ ัั‚ั€ะตั ั‚ะตัั‚ะฒะฐะฝะต ะดะพ ะธะณั€ะธ ะธ ะฝะฐัƒั‡ะฝะธ ะฟั€ะพะตะบั‚ะธ. ะ’ C# ะบะปะฐััŠั‚ Random ะฟั€ะตะดะพัั‚ะฐะฒั ั„ัƒะฝะบั†ะธะพะฝะฐะปะฝะพัั‚ะธ ะทะฐ ะณะตะฝะตั€ะธั€ะฐะฝะต ะฝะฐ ะฟั€ะพะธะทะฒะพะปะฝะธ ั‡ะธัะปะฐ. ะšะฐั‚ะพ ะฟั€ะธะผะตั€ ะฒะทะตะผะตะผ ัะปะตะดะฝะธั ะบะพะดะพะฒ ั„ั€ะฐะณะผะตะฝั‚:

Randomrand = ะฝะพะฒ Random();
int randomNumber = rand.Next();

ะ“ะพั€ะฝะธัั‚ ะบะพะด ั‰ะต ะณะตะฝะตั€ะธั€ะฐ ะฟั€ะพะธะทะฒะพะปะฝะพ ั†ัะปะพ ั‡ะธัะปะพ, ะบะพะตั‚ะพ ะผะพะถะต ะดะฐ ะฑัŠะดะต ะพั‚ 0 ะดะพ Int32.MaxValue.

ะ ะฐะทะฑะธั€ะฐะฝะต ะฝะฐ ัะปัƒั‡ะฐะนะฝะธั ะบะปะฐั ะฒ C#

ะšะปะฐััŠั‚ Random ะฒ C# ัะต ะฝะฐะผะธั€ะฐ ะฒ ะฟั€ะพัั‚ั€ะฐะฝัั‚ะฒะพั‚ะพ ะฝะฐ ะธะผะตะฝะฐั‚ะฐ System ะธ ััŠะดัŠั€ะถะฐ ะผะฝะพะถะตัั‚ะฒะพ ะผะตั‚ะพะดะธ, ะบะพะธั‚ะพ ะผะพะณะฐั‚ ะดะฐ ัะต ะธะทะฟะพะปะทะฒะฐั‚ ะทะฐ ั€ะฐะทะปะธั‡ะฝะธ ั†ะตะปะธ. ะ—ะฐ ะณะตะฝะตั€ะธั€ะฐะฝะต ะฝะฐ ะฟั€ะพะธะทะฒะพะปะฝะธ ั†ะตะปะธ ั‡ะธัะปะฐ ะฝะฐะน-ั‡ะตัั‚ะพ ะธะทะฟะพะปะทะฒะฐะฝะธั‚ะต ะผะตั‚ะพะดะธ ัะฐ Next() ะธ Next(Int32, Int32).

ะกะปะตะดะฒะฐั‰ (Int32, Int32) ะณะตะฝะตั€ะธั€ะฐ ะฟั€ะพะธะทะฒะพะปะฝะพ ั†ัะปะพ ั‡ะธัะปะพ ะผะตะถะดัƒ ะดะฒะตั‚ะต ะฟะพัะพั‡ะตะฝะธ ั‡ะธัะปะฐ, ะดะพะบะฐั‚ะพ ะกะปะตะดะฒะฐั‰ะธั() ะฟั€ะพัั‚ะพ ะณะตะฝะตั€ะธั€ะฐ ะฟั€ะพะธะทะฒะพะปะฝะพ ั‡ะธัะปะพ ะผะตะถะดัƒ ะฝัƒะปะฐ ะธ Int32.MaxValue.

ะ—ะฐ ะดะฐ ััŠะทะดะฐะดะตั‚ะต ะตะบะทะตะผะฟะปัั€ ะฝะฐ ะบะปะฐัะฐ Random, ะฟั€ะพัั‚ะพ ะธะทะฟะพะปะทะฒะฐะนั‚ะต ัะปะตะดะฝะธั ั€ะตะด ะบะพะด:

Randomrand = ะฝะพะฒ Random();

ะกะปะตะด ั‚ะพะฒะฐ, ะทะฐ ะดะฐ ะณะตะฝะตั€ะธั€ะฐั‚ะต ะฟั€ะพะธะทะฒะพะปะฝะพ ั†ัะปะพ ั‡ะธัะปะพ:

int randomNumber = rand.Next(); // ะณะตะฝะตั€ะธั€ะฐ ะฟั€ะพะธะทะฒะพะปะฝะพ ั‡ะธัะปะพ ะผะตะถะดัƒ 0 ะธ Int32.MaxValue

ะ’ะธะถั‚ะต ะฟะพะฒะตั‡ะต

ะ ะตัˆะตะฝะพ: Vector3.signedangle ะฝะต ะฟะพะบะฐะทะฒะฐ ะธะทะฟะธัะฐะฝ ัŠะณัŠะป ะฒ ะตะดะธะฝะธั†ะฐ

ะ’ะตะบั‚ะพั€ะธั‚ะต ัะฐ ะผะพั‰ะตะฝ ะธะฝัั‚ั€ัƒะผะตะฝั‚ ะฒ ะฟั€ะพะณั€ะฐะผะธั€ะฐะฝะตั‚ะพ, ะพัะพะฑะตะฝะพ ะฟะพะปะตะทะตะฝ ะฟั€ะธ ั€ะฐะทั€ะฐะฑะพั‚ะฒะฐะฝะตั‚ะพ ะฝะฐ ะธะณั€ะธ. ะขะต ะผะพะณะฐั‚ ะดะฐ ะฟั€ะตะดัั‚ะฐะฒัั‚ ะฟะพัะพะบะธ, ัะบะพั€ะพัั‚ะธ ะธ ะพั‡ะตะฒะธะดะฝะพ ะฟะพะทะธั†ะธะธ ะฒ 3D ะฟั€ะพัั‚ั€ะฐะฝัั‚ะฒะพั‚ะพ. ะšะพะณะฐั‚ะพ ั€ะฐะฑะพั‚ะธะผ ั ั‚ะตะทะธ ะฒะตะบั‚ะพั€ะธ, ะฟะพะฝัะบะพะณะฐ ั‚ั€ัะฑะฒะฐ ะดะฐ ะธะทั‡ะธัะปะธะผ ัŠะณัŠะปะฐ ะผะตะถะดัƒ ะดะฒะฐ ะฒะตะบั‚ะพั€ะฐ. ะขัƒะบ ะฒะปะธะทะฐ ะฒ ะดะตะนัั‚ะฒะธะต ะผะตั‚ะพะดัŠั‚ Vector3.SignedAngle ะฝะฐ Unity.

Vector3.SignedAngle ะฝะฐ Unity ะœะตั‚ะพะดัŠั‚ ะธะทั‡ะธัะปัะฒะฐ ัŠะณัŠะปะฐ ะฒ ะณั€ะฐะดัƒัะธ ะผะตะถะดัƒ ะดะฒะฐ ะฒะตะบั‚ะพั€ะฐ ะฟะพ ะพั‚ะฝะพัˆะตะฝะธะต ะฝะฐ ะฟะพัะพะบะฐั‚ะฐ. ะกั‚ะพะนะฝะพัั‚ั‚ะฐ ะผัƒ ะฒะฐั€ะธั€ะฐ ะพั‚ -180 ะดะพ 180, ะบะฐั‚ะพ ะฟะพ ั‚ะพะทะธ ะฝะฐั‡ะธะฝ ะฝะธ ะดะฐะฒะฐ ะธ ะฟะพัะพะบะฐั‚ะฐ. ะ—ะฐ ััŠะถะฐะปะตะฝะธะต, ะฝัะบะพะธ ะฟะพั‚ั€ะตะฑะธั‚ะตะปะธ ััŠะพะฑั‰ะฐะฒะฐั‚ ะทะฐ ะฟั€ะพะฑะปะตะผะธ ั ั‚ะพะฒะฐ, ั‡ะต ะฝะต ะฟะพะบะฐะทะฒะฐ ะฟั€ะฐะฒะธะปะฝะพ ะฟะพะดะฟะธัะฐะฝะธั ัŠะณัŠะป. ะะตะบะฐ ัะต ะทะฐะดัŠะปะฑะพั‡ะธะผ ะฒ ะถะธะทะฝะตัะฟะพัะพะฑะฝะพ ั€ะตัˆะตะฝะธะต ะฝะฐ ั‚ะพะทะธ ั‡ะตัั‚ะพ ัั€ะตั‰ะฐะฝ ะฟั€ะพะฑะปะตะผ.

ะ’ะธะถั‚ะต ะฟะพะฒะตั‡ะต

ะ ะตัˆะตะฝะพ: ะฝะธะทัŠั‚ ะต ั€ะฐะฒะตะฝ ะฝะฐ ะธะณะฝะพั€ะธั€ะฐะฝะต ะฝะฐ ะณะปะฐะฒะฝะธ ะธ ะผะฐะปะบะธ ะฑัƒะบะฒะธ

C# ะต ะผะฝะพะณะพัั‚ั€ะฐะฝะตะฝ ะตะทะธะบ ั ะผะฝะพะถะตัั‚ะฒะพ ั„ัƒะฝะบั†ะธะธ, ะบะพะธั‚ะพ ะฟั€ะฐะฒัั‚ ะทะฐะดะฐั‡ะธั‚ะต ะฟะพ ะฟั€ะพะณั€ะฐะผะธั€ะฐะฝะต ะฟะพ-ะปะตัะฝะธ. ะ•ะดะฝะฐ ั‚ะฐะบะฐะฒะฐ ั…ะฐั€ะฐะบั‚ะตั€ะธัั‚ะธะบะฐ ะต ัะฟะพัะพะฑะฝะพัั‚ั‚ะฐ ะดะฐ ัะต ัั€ะฐะฒะฝัะฒะฐั‚ ะฝะธะทะพะฒะต, ะบะฐั‚ะพ ัะต ะฟั€ะตะฝะตะฑั€ะตะณะฒะฐ ั‚ะตั…ะฝะธัั‚ ั€ะตะณะธัั‚ัŠั€, ะบะฐั‚ะพ ัะต ะธะทะฟะพะปะทะฒะฐ ะธะทะฑั€ะพัะฒะฐะฝะตั‚ะพ ะฝะฐ StringComparison. ะ—ะฐ ะดะฐ ัะต ะฟะพัั‚ะธะณะฝะต ั‚ะพะฒะฐ, ัะต ะธะทะฟะพะปะทะฒะฐ ั„ัƒะฝะบั†ะธัั‚ะฐ `string.Equals`.

ะกั€ะฐะฒะฝะตะฝะธะตั‚ะพ ะฝะฐ ะฝะธะทะพะฒะต ะต ะพั‚ ั€ะตัˆะฐะฒะฐั‰ะพ ะทะฝะฐั‡ะตะฝะธะต ะฒ ะผะฝะพะณะพ ัั†ะตะฝะฐั€ะธะธ ะทะฐ ะฟั€ะพะณั€ะฐะผะธั€ะฐะฝะต. ะงะตัั‚ะพ ะพะฑะฐั‡ะต ะฝะต ัะต ะธะฝั‚ะตั€ะตััƒะฒะฐะผะต ะพั‚ ั€ะตะณะธัั‚ัŠั€ะฐ ะฝะฐ ั‚ะตะบัั‚ะฐ, ะบะพะนั‚ะพ ัั€ะฐะฒะฝัะฒะฐะผะต. C# ะพะฟั€ะพัั‚ัะฒะฐ ั‚ะพะทะธ ะฟั€ะพั†ะตั ั ะฟะพะผะพั‰ั‚ะฐ ะฝะฐ ั„ัƒะฝะบั†ะธะพะฝะฐะปะฝะพัั‚, ะบะพัั‚ะพ ะต ะฒ ะพัะฝะพะฒะฐั‚ะฐ ะฝะฐ ะผะฝะพะณะพ ะพะฟะตั€ะฐั†ะธะธ.

ะ’ะธะถั‚ะต ะฟะพะฒะตั‡ะต

ะ ะตัˆะตะฝะพ: ะธะทะฒะฐะดะตั‚ะต ะดะฒะฐ ะฟัŠั‚ะธ

ะ ะฐะทะฑะธั€ะฐ ัะต, ััŠั ัะธะณัƒั€ะฝะพัั‚ ั‰ะต ะฟะพะผะพะณะฝะฐ ั ั‚ะพะฒะฐ. ะŸะพ-ะดะพะปัƒ ะต ะผะพัั‚ะฐ ะฟะพะดั€ะพะฑะฝะฐ ั‡ะตั€ะฝะพะฒะฐ ะฝะฐ ั‚ะตะผะฐั‚ะฐ โ€žะธะทะฒะฐะถะดะฐะฝะต ะดะฒะฐ ะฟัŠั‚ะธ ะฒ C#โ€œ.

ะ•ะทะธั†ะธั‚ะต ะทะฐ ะฟั€ะพะณั€ะฐะผะธั€ะฐะฝะต ัะฐ ะพัะฝะพะฒะตะฝ ะธะฝัั‚ั€ัƒะผะตะฝั‚ ะทะฐ ะพั„ะพั€ะผัะฝะตั‚ะพ ะฝะฐ ะฝะฐัˆะธั ั‚ะตั…ะฝะพะปะพะณะธั‡ะตะฝ ัะฒัั‚. ะ•ะดะธะฝ ะบะพะฝะบั€ะตั‚ะตะฝ ะตะทะธะบ, ะบะพะนั‚ะพ ะพะบะฐะทะฐ ะทะฝะฐั‡ะธั‚ะตะปะฝะพ ะฒะปะธัะฝะธะต, ะต C#. ะ˜ะทะฒะตัั‚ะตะฝ ััŠั ัะฒะพัั‚ะฐ ะณัŠะฒะบะฐะฒะพัั‚ ะธ ัƒะดะพะฑะตะฝ ะทะฐ ะฟะพั‚ั€ะตะฑะธั‚ะตะปั ั…ะฐั€ะฐะบั‚ะตั€, ั‚ะพะน ะฟั€ะตะดะพัั‚ะฐะฒั ะดะธั€ะตะบั‚ะตะฝ ะฟะพะดั…ะพะด ะบัŠะผ ะฝัะบะพะปะบะพ ะฟั€ะตะดะธะทะฒะธะบะฐั‚ะตะปัั‚ะฒะฐ ะฟั€ะธ ะบะพะดะธั€ะฐะฝะตั‚ะพ. ะ•ะดะธะฝ ั‡ะตัั‚ะพ ัั€ะตั‰ะฐะฝ ะฟั€ะพะฑะปะตะผ, ั€ะตัˆะตะฝ ั ะฟะพะผะพั‰ั‚ะฐ ะฝะฐ C#, ะต ะธะทะฒะฐะถะดะฐะฝะตั‚ะพ ะฝะฐ ะดะฒะฐ ะฟัŠั‚ะธ. ะะฑัั‚ั€ะฐะบั†ะธัั‚ะฐ ะทะฐะด ะฝะตะณะพ ะต ะดะฐ ัะต ะพะฟั€ะตะดะตะปะธ ั€ะฐะทะปะธะบะฐั‚ะฐ ะผะตะถะดัƒ ะดะฒะต ะฒั€ะตะผะตะฒะธ ั‚ะพั‡ะบะธ, ะผัั€ะบะฐ, ะบะพัั‚ะพ ัะต ะพะบะฐะทะฒะฐ ะฟะพะปะตะทะฝะฐ ะฟั€ะธ ะบะพะพั€ะดะธะฝะธั€ะฐะฝะต ะฝะฐ ััŠะฑะธั‚ะธั, ะพั†ะตะฝะบะธ ะฟะพ ะฒั€ะตะผะต ะฝะฐ ะธะทะฟัŠะปะฝะตะฝะธะต ะธ ะฐะฝะฐะปะธั‚ะธั‡ะตะฝ ะทะฐะฟะธั.

DateTime startTime = ะฝะพะฒ DateTime(2022, 1, 1, 8, 0, 0);
DateTime endTime = ะฝะพะฒ DateTime(2022, 1, 1, 10, 30, 0);
TimeSpan ั€ะฐะทะปะธะบะฐ = endTime.Subtract(startTime);

ะšะพะดัŠั‚ ะฟะพ-ะณะพั€ะต ะฟั€ะตะดัั‚ะฐะฒะปัะฒะฐ ะฟั€ะพัั‚ ะฝะฐั‡ะธะฝ ะทะฐ ะธะทั‡ะธัะปัะฒะฐะฝะต ะฝะฐ ั€ะฐะทะปะธะบะฐั‚ะฐ ะผะตะถะดัƒ ะดะฒะต ะฒั€ะตะผะตะฝะฐ.

ะ’ะธะถั‚ะต ะฟะพะฒะตั‡ะต

ะ ะตัˆะตะฝะพ: ะบะฐะบ ะดะฐ ะธะทั‚ั€ะธั ะฒัะธั‡ะบะธ ั„ะฐะนะปะพะฒะต ะฒ ะดะธั€ะตะบั‚ะพั€ะธั

ะ˜ะทั‚ั€ะธะฒะฐะฝะต ะฝะฐ ั„ะฐะนะปะพะฒะต ะพั‚ ะดะธั€ะตะบั‚ะพั€ะธั ะต ั‡ะตัั‚ะพ ัั€ะตั‰ะฐะฝะฐ ะทะฐะดะฐั‡ะฐ ะฒ ัะฒัŠั€ะทะฐะฝะพั‚ะพ ััŠั ัะธัั‚ะตะผะฐั‚ะฐ ะฟั€ะพะณั€ะฐะผะธั€ะฐะฝะต. ะขะตะทะธ ะพะฟะตั€ะฐั†ะธะธ ะธะทะธัะบะฒะฐั‚ ะฒะฝะธะผะฐั‚ะตะปะฝะพ ะฑะพั€ะฐะฒะตะฝะต, ั‚ัŠะน ะบะฐั‚ะพ ะทะปะพัƒะฟะพั‚ั€ะตะฑะฐั‚ะฐ ะผะพะถะต ะดะฐ ะดะพะฒะตะดะต ะดะพ ั‚ั€ะฐะนะฝะฐ ะทะฐะณัƒะฑะฐ ะฝะฐ ะดะฐะฝะฝะธ. ะ’ ะตะทะธะบะฐ ะทะฐ ะฟั€ะพะณั€ะฐะผะธั€ะฐะฝะต C# ะฟั€ะพัั‚ั€ะฐะฝัั‚ะฒะพั‚ะพ ะพั‚ ะธะผะตะฝะฐ System.IO ะฟั€ะตะดะพัั‚ะฐะฒั ะผะตั‚ะพะดะธ ะทะฐ ะธะทะฒัŠั€ัˆะฒะฐะฝะต ะฝะฐ ั‚ะฐะบะธะฒะฐ ะพะฟะตั€ะฐั†ะธะธ.

ะ’ะธะถั‚ะต ะฟะพะฒะตั‡ะต

ะ ะตัˆะตะฝะพ: ะฒะทะตะผะตั‚ะต ะผะฐะบัะธะผะฐะปะฝะฐ ัั‚ะพะนะฝะพัั‚ ะฝะฐ enum

ะŸะพะปัƒั‡ะฐะฒะฐะฝะตั‚ะพ ะฝะฐ ะผะฐะบัะธะผะฐะปะฝะฐ ัั‚ะพะนะฝะพัั‚ ะพั‚ ั‚ะธะฟ ะธะทะฑั€ะพัะฒะฐะฝะต ะต ั‡ะตัั‚ะพ ัั€ะตั‰ะฐะฝะฐ ะทะฐะดะฐั‡ะฐ, ั ะบะพัั‚ะพ ัะต ัะฑะปัŠัะบะฒะฐั‚ ั€ะฐะทั€ะฐะฑะพั‚ั‡ะธั†ะธั‚ะต. ะขะพะฒะฐ ัะต ะธะทะธัะบะฒะฐ ะฒ ัั†ะตะฝะฐั€ะธะธ, ะฟั€ะธ ะบะพะธั‚ะพ ั‚ั€ัะฑะฒะฐ ะดะฐ ะฟะพั‚ะฒัŠั€ะดะธั‚ะต ะฒัŠะฒะตะดะตะฝะพั‚ะพ ะพั‚ ะฟะพั‚ั€ะตะฑะธั‚ะตะปั ะธะปะธ ะดะฐ ัƒะฟั€ะฐะฒะปัะฒะฐั‚ะต ะพะฟั€ะตะดะตะปะตะฝะธ ั€ะตััƒั€ัะธ ะฒัŠะท ะพัะฝะพะฒะฐ ะฝะฐ ัั‚ะพะนะฝะพัั‚ั‚ะฐ enum. C# ะฟั€ะตะดะพัั‚ะฐะฒั ะปะตัะตะฝ ะฝะฐั‡ะธะฝ ะทะฐ ะฟะพัั‚ะธะณะฐะฝะต ะฝะฐ ั‚ะพะฒะฐ ั ะฟะพะผะพั‰ั‚ะฐ ะฝะฐ ะบะปะฐัะฐ Enum ะธ ะผะฐะปะบะพ LINQ.

ะะตะบะฐ ะฟั€ะพัƒั‡ะธะผ ั€ะตัˆะตะฝะธะตั‚ะพ, ะบะพะตั‚ะพ ะฟั€ะฐะฒะธ ะธะทะฒะปะธั‡ะฐะฝะตั‚ะพ ะฝะฐ ะผะฐะบัะธะผะฐะปะฝะฐั‚ะฐ ัั‚ะพะนะฝะพัั‚ ะฝะฐ ะธะทะฑั€ะพัะฒะฐะฝะต ะปะตัะฝะพ ะบะฐั‚ะพ ะฟะฐะน.

ะฟัƒะฑะปะธั‡ะตะฝ enum MyEnum
{
ะžะฟั†ะธั1 = 1,
ะžะฟั†ะธั2 = 2,
ะ’ะฐั€ะธะฐะฝั‚ 3 = 3
}

...

public int GetMaxEnumValue()
{
ะฒัŠั€ะฝะต Enum.GetValues(typeof(MyEnum)).Cast().ะœะฐะบั();
}

ะขะฐะทะธ ะบั€ะฐั‚ะบะฐ ั‡ะฐัั‚ ะพั‚ ะบะพะดะฐ ะฒัŠั€ัˆะธ ั†ัะปะฐั‚ะฐ ั€ะฐะฑะพั‚ะฐ ะฟะพ ะธะทะฒะปะธั‡ะฐะฝะต ะฝะฐ ะฝะฐะน-ะฒะธัะพะบะฐั‚ะฐ ัั‚ะพะนะฝะพัั‚ ะฒ enum. ะะพ ะบะฐะบ ั€ะฐะฑะพั‚ะธ?

ะ“ะผัƒั€ะฝะตั‚ะต ัะต ะดัŠะปะฑะพะบะพ ะฒ ะบะพะดะฐ

`Enum.GetValues(typeof(MyEnum))` ะต ะฟัŠั€ะฒะฐั‚ะฐ ะฒะฐะถะฝะฐ ั‡ะฐัั‚, ะบะพัั‚ะพ ั‚ั€ัะฑะฒะฐ ะดะฐ ั€ะฐะทะฑะตั€ะตั‚ะต. ะขะพะทะธ ะฒะณั€ะฐะดะตะฝ .NET ะผะตั‚ะพะด ะฒั€ัŠั‰ะฐ ะผะฐัะธะฒ, ััŠะดัŠั€ะถะฐั‰ ัั‚ะพะนะฝะพัั‚ะธั‚ะต ะฝะฐ ะบะพะฝัั‚ะฐะฝั‚ะธั‚ะต ะฒ ะพะฟั€ะตะดะตะปะตะฝะพ ะธะทะฑั€ะพัะฒะฐะฝะต. ะขะธะฟัŠั‚ ะธะทะฑั€ะพัะฒะฐะฝะต ัะต ะฟั€ะตะดะฐะฒะฐ ะบะฐั‚ะพ ะฟะฐั€ะฐะผะตั‚ัŠั€ ะฝะฐ ะผะตั‚ะพะดะฐ ั ะฟะพะผะพั‰ั‚ะฐ ะฝะฐ ะบะปัŽั‡ะพะฒะฐั‚ะฐ ะดัƒะผะฐ `typeof`.

ะกะปะตะด ะบะฐั‚ะพ ะธะผะฐะผะต ะผะฐัะธะฒะฐ, ั‚ั€ัะฑะฒะฐ ะดะฐ ะณะพ ะฟั€ะตะพะฑั€ะฐะทัƒะฒะฐะผะต ะฒ ั†ะตะปะธ ั‡ะธัะปะฐ. ะขะพะฒะฐ ัะต ะฟั€ะฐะฒะธ ั ะฟะพะผะพั‰ั‚ะฐ ะฝะฐ .Cast(), ะบะพะนั‚ะพ ะต ั‡ะฐัั‚ ะพั‚ LINQ (Language Integrated Query). LINQ ะต ะฝะฐะฑะพั€ ะพั‚ ั‚ะตั…ะฝะธะบะธ ะธ ะผะตั‚ะพะดะธ ะฒ .NET, ะบะพะนั‚ะพ ะฝะธ ะฟะพะทะฒะพะปัะฒะฐ ะดะฐ ั€ะฐะฑะพั‚ะธะผ ั ะดะฐะฝะฝะธ ะฟะพ ะฟะพ-ะธะฝั‚ัƒะธั‚ะธะฒะตะฝ ะธ ะณัŠะฒะบะฐะฒ ะฝะฐั‡ะธะฝ.

ะกะปะตะด ะฟั€ะตะพะฑั€ะฐะทัƒะฒะฐะฝะต ะฝะฐ ัั‚ะพะนะฝะพัั‚ะธั‚ะต ะฒ ั†ะตะปะธ ั‡ะธัะปะฐ, ะฟะพะปัƒั‡ะฐะฒะฐะฝะตั‚ะพ ะฝะฐ ะผะฐะบัะธะผะฐะปะฝะฐั‚ะฐ ัั‚ะพะนะฝะพัั‚ ะต ั‚ะพะปะบะพะฒะฐ ะฟั€ะพัั‚ะพ, ะบะพะปะบะพั‚ะพ ะธะทะฒะธะบะฒะฐะฝะตั‚ะพ ะฝะฐ ะผะตั‚ะพะดะฐ .Max(), ะดั€ัƒะณ ั‡ัƒะดะตัะตะฝ ะธะฝัั‚ั€ัƒะผะตะฝั‚, ะฟั€ะตะดะพัั‚ะฐะฒะตะฝ ะพั‚ LINQ. ะขะพะทะธ ะผะตั‚ะพะด ะฒั€ัŠั‰ะฐ ะผะฐะบัะธะผะฐะปะฝะฐั‚ะฐ ัั‚ะพะนะฝะพัั‚ ะฒ ะบะพะปะตะบั†ะธั ะพั‚ int ัั‚ะพะนะฝะพัั‚ะธ.

ะ˜ะทะฟะพะปะทะฒะฐะฝะต ะฝะฐ Enum ะธ LINQ ะฑะธะฑะปะธะพั‚ะตะบะธ

ะšะปะฐััŠั‚ Enum ะต ั‡ะฐัั‚ ะพั‚ System namespace ะฒ .NET ะธ ะฟั€ะตะดะพัั‚ะฐะฒั ะฝัะบะพะปะบะพ ัั‚ะฐั‚ะธั‡ะฝะธ ะผะตั‚ะพะดะฐ ะทะฐ ั€ะฐะฑะพั‚ะฐ ั ะธะทะฑั€ะพัะฒะฐะฝะธั. ะขะพะฒะฐ ะต ะฑะธะฑะปะธะพั‚ะตะบะฐั‚ะฐ, ะบะพัั‚ะพ ั‚ั€ัะฑะฒะฐ ะดะฐ ะธะทะฟะพะปะทะฒะฐั‚ะต, ะบะพะณะฐั‚ะพ ั‚ั€ัะฑะฒะฐ ะดะฐ ะธะทะฒัŠั€ัˆะธั‚ะต ะพะฟะตั€ะฐั†ะธั, ัะฒัŠั€ะทะฐะฝะฐ ั ั‚ะธะฟะพะฒะตั‚ะต enum.

ะžั‚ ะดั€ัƒะณะฐ ัั‚ั€ะฐะฝะฐ, LINQ, ั‡ะฐัั‚ ะพั‚ ะฟั€ะพัั‚ั€ะฐะฝัั‚ะฒะพั‚ะพ ะฝะฐ ะธะผะตะฝะฐั‚ะฐ System.Linq, ะต ะตะดะฝะฐ ะพั‚ ะฝะฐะน-ะผะพั‰ะฝะธั‚ะต ั„ัƒะฝะบั†ะธะธ ะฝะฐ C#. ะขะพะน ะฟั€ะตะดะพัั‚ะฐะฒั ั€ะฐะทะปะธั‡ะฝะธ ะผะตั‚ะพะดะธ ะทะฐ ะตั„ะตะบั‚ะธะฒะฝะพ ะพะฑั€ะฐะฑะพั‚ะฒะฐะฝะต ะฝะฐ ะบะพะปะตะบั†ะธะธ, ะบะฐั‚ะพ ะฟะพะปัƒั‡ะฐะฒะฐะฝะต ะฝะฐ ะผะฐะบัะธะผะฐะปะฝะธ, ะผะธะฝะธะผะฐะปะฝะธ ะธะปะธ ัั€ะตะดะฝะธ ัั‚ะพะนะฝะพัั‚ะธ, ัะพั€ั‚ะธั€ะฐะฝะต ะธ ั„ะธะปั‚ั€ะธั€ะฐะฝะต ะฝะฐ ะดะฐะฝะฝะธ.

ะ’ะธะถั‚ะต ะฟะพะฒะตั‡ะต

ะ ะตัˆะตะฝะพ: ะผะฐั‚ะตะผะฐั‚ะธะบะฐ ะบัŠะผ ั€ะฐะดะธะฐะฝั‚

ะœะฐั‚ะตะผะฐั‚ะธะบะฐั‚ะฐ ะผะพะถะต ะดะฐ ะฑัŠะดะต ะฟั€ะตะดะธะทะฒะธะบะฐั‚ะตะปะตะฝ ะฟั€ะตะดะผะตั‚, ะฝะพ ั ะฟั€ะฐะฒะธะปะฝะธั ะฟะพะดั…ะพะด ะผะพะถะต ะดะฐ ะฑัŠะดะต ะทะฐะฑะฐะฒะฝะพ ะธ ะฟะพะปะตะทะฝะพ ะฟั€ะตะถะธะฒัะฒะฐะฝะต. ะ•ั‚ะพ ะฝัะบะพะปะบะพ ััŠะฒะตั‚ะฐ, ะบะพะธั‚ะพ ั‰ะต ะฒะธ ะฟะพะผะพะณะฝะฐั‚ ะดะฐ ะทะฐะฟะพั‡ะฝะตั‚ะต:

- ะ—ะฐะฟะพั‡ะฝะตั‚ะต, ะบะฐั‚ะพ ะฝะฐัƒั‡ะธั‚ะต ะพัะฝะพะฒะธั‚ะต. ะ—ะฐะฟะพะทะฝะฐะนั‚ะต ัะต ั ะพัะฝะพะฒะฝะธั‚ะต ะบะพะฝั†ะตะฟั†ะธะธ ะฝะฐ ะผะฐั‚ะตะผะฐั‚ะธะบะฐั‚ะฐ, ะทะฐ ะดะฐ ะธะผะฐั‚ะต ัะพะปะธะดะฝะฐ ะพัะฝะพะฒะฐ, ะพั‚ ะบะพัั‚ะพ ะดะฐ ะฝะฐะดะณั€ะฐะถะดะฐั‚ะต.
- ะ˜ะทะฟะพะปะทะฒะฐะนั‚ะต ะพะฝะปะฐะนะฝ ั€ะตััƒั€ัะธ. ะ˜ะผะฐ ะผะฝะพะณะพ ะฑะตะทะฟะปะฐั‚ะฝะธ ั€ะตััƒั€ัะธ, ะดะพัั‚ัŠะฟะฝะธ ะพะฝะปะฐะนะฝ, ะบะพะธั‚ะพ ะผะพะณะฐั‚ ะดะฐ ะฒะธ ะฟะพะผะพะณะฝะฐั‚ ะดะฐ ะฟะพะดะพะฑั€ะธั‚ะต ัะฒะพะธั‚ะต ะผะฐั‚ะตะผะฐั‚ะธั‡ะตัะบะธ ัƒะผะตะฝะธั. ะ ะฐะทะณะปะตะดะฐะนั‚ะต ัƒะตะฑัะฐะนั‚ะพะฒะต ะบะฐั‚ะพ Khan Academy ะธะปะธ The Math Forum ะทะฐ ะฟะพะฒะตั‡ะต ะฟะพะผะพั‰.
-ะŸั€ะฐะบั‚ะธะบะฐ, ะฟั€ะฐะบั‚ะธะบะฐ, ะฟั€ะฐะบั‚ะธะบะฐ! ะšะพะปะบะพั‚ะพ ะฟะพะฒะตั‡ะต ัะต ัƒะฟั€ะฐะถะฝัะฒะฐั‚ะต, ั‚ะพะปะบะพะฒะฐ ะฟะพ-ะดะพะฑั€ะต ั‰ะต ัะต ัะฟั€ะฐะฒัั‚ะต ั ะผะฐั‚ะตะผะฐั‚ะธะบะฐั‚ะฐ. ะŸั€ะตะผะธะฝะตั‚ะต ะฟั€ะตะท ะฟั€ะตะดะธะทะฒะธะบะฐั‚ะตะปะฝะธ ะฟั€ะพะฑะปะตะผะธ ะธ ัะต ะพะฟะธั‚ะฐะนั‚ะต ะดะฐ ะณะธ ั€ะฐะทั€ะตัˆะธั‚ะต ะฒัŠะทะผะพะถะฝะพ ะฝะฐะน-ะฑัŠั€ะทะพ. ะขะพะฒะฐ ั‰ะต ะฒะธ ะฟะพะผะพะณะฝะต ะดะฐ ั€ะฐะทะฒะธะตั‚ะต ะฑัŠั€ะทะธะฝะฐ ะธ ั‚ะพั‡ะฝะพัั‚ ะฒ ะธะทั‡ะธัะปะตะฝะธัั‚ะฐ ัะธ.
-ะ‘ัŠะดะตั‚ะต ะพั€ะณะฐะฝะธะทะธั€ะฐะฝะธ. ะกะปะตะดะตั‚ะต ะฝะฐะฟั€ะตะดัŠะบะฐ ัะธ, ะบะฐั‚ะพ ะฒะพะดะธั‚ะต ะผะฐั‚ะตะผะฐั‚ะธั‡ะตัะบะธ ะดะฝะตะฒะฝะธะบ ะธะปะธ ะธะทะฟะพะปะทะฒะฐั‚ะต ะฟั€ะธะปะพะถะตะฝะธะต ะทะฐ ะฟั€ะพัะปะตะดัะฒะฐะฝะต ะบะฐั‚ะพ Google ะขะฐะฑะปะธั†ะธ ะธะปะธ Excel. ะขะพะฒะฐ ั‰ะต ะฒะธ ะฟะพะผะพะณะฝะต ะดะฐ ัั‚ะต ะฒ ะบั€ะฐะบ ั ะฝะฐะฟั€ะตะดัŠะบะฐ ัะธ ะธ ะดะฐ ะฟั€ะพัะปะตะดะธั‚ะต ะฒัะธั‡ะบะธ ะฟะพะดะพะฑั€ะตะฝะธั, ะบะพะธั‚ะพ ะฟั€ะฐะฒะธั‚ะต ั ั‚ะตั‡ะตะฝะธะต ะฝะฐ ะฒั€ะตะผะตั‚ะพ.

ะ ะตัˆะตะฝะพ: ั†ะธะบัŠะป ะฒัŠั€ั…ัƒ ัะฒะพะนัั‚ะฒะฐั‚ะฐ ะฝะฐ ะพะฑะตะบั‚ะฐ

ะŸั€ะพั†ะตััŠั‚ ะฝะฐ ะธั‚ะตั€ะฐั†ะธั ะฒัŠั€ั…ัƒ ัะฒะพะนัั‚ะฒะฐั‚ะฐ ะฝะฐ ะพะฑะตะบั‚ะฐ ะฒ C# ะต ะบะฐะบั‚ะพ ะพะฑะธั‡ะฐะนะฝะฐ, ั‚ะฐะบะฐ ะธ ะฝะตะพะฑั…ะพะดะธะผะฐ ะพะฟะตั€ะฐั†ะธั, ั‚ะพะน ะฝะธ ะฟะพะทะฒะพะปัะฒะฐ ะดะฐ ะพะฑั€ะฐะฑะพั‚ะฒะฐะผะต ะดะธะฝะฐะผะธั‡ะฝะธ ะดะฐะฝะฝะธ ะบะฐั‚ะพ ะฟะพั‚ั€ะตะฑะธั‚ะตะปัะบะธ ะฒั…ะพะดะพะฒะต, ะทะฐะฟะธัะธ ะฒ ะฑะฐะทะฐ ะดะฐะฝะฝะธ ะธ ะดั€. ะ˜ั‚ะตั€ะธั€ะฐะฝะตั‚ะพ ะฟั€ะตะท ั‚ะตะทะธ ะพะทะฝะฐั‡ะฐะฒะฐ ะฟั€ะตะผะธะฝะฐะฒะฐะฝะต ะฟั€ะตะท ะฒััะบะพ ัะฒะพะนัั‚ะฒะพ ะฝะฐ ะพะฑะตะบั‚ะฐ ะตะดะฝะพ ะฟะพ ะตะดะฝะพ, ะทะฐ ะดะฐ ัะต ะธะทะฟัŠะปะฝะธ ะพะฟั€ะตะดะตะปะตะฝะฐ ะทะฐะดะฐั‡ะฐ ะธะปะธ ะพะฟะตั€ะฐั†ะธั.

ะ’ C#, ะตะทะธะบ, ะธะทะณั€ะฐะดะตะฝ ะพะบะพะปะพ ะบะพะฝั†ะตะฟั†ะธัั‚ะฐ ะทะฐ โ€žะพะฑะตะบั‚ะฝะพ-ะพั€ะธะตะฝั‚ะธั€ะฐะฝะพ ะฟั€ะพะณั€ะฐะผะธั€ะฐะฝะตโ€œ, ะธะผะฐะผะต ะฝัะบะพะปะบะพ ะผะตั…ะฐะฝะธะทะผะฐ ะทะฐ ะฟะพัั‚ะธะณะฐะฝะต ะฝะฐ ั‚ะพะฒะฐ, ะทะฐะตะดะฝะพ ั ั†ะตะฝะฝะธ ะฑะธะฑะปะธะพั‚ะตะบะธ ะบะฐั‚ะพ Reflection. ะ‘ะธะฑะปะธะพั‚ะตะบะฐั‚ะฐ Reflection ะฝะธ ะฟะพะทะฒะพะปัะฒะฐ ะดะฐ ะธะฝัะฟะตะบั‚ะธั€ะฐะผะต ะผะตั‚ะฐะดะฐะฝะฝะธ ะฝะฐ ั‚ะธะฟะพะฒะต ะธ ะดะฐ ะผะฐะฝะธะฟัƒะปะธั€ะฐะผะต ะดะธะฝะฐะผะธั‡ะฝะพ ะพะฑะตะบั‚ะธ.

ะ’ะธะถั‚ะต ะฟะพะฒะตั‡ะต