ฮ ฮปฮฎฯฮท ฯฮทฯ ฮผฮญฮณฮนฯฯฮทฯ ฯฮนฮผฮฎฯ ฮฑฯฯ ฮญฮฝฮฑฮฝ ฯฯฯฮฟ ฮฑฯฮฑฯฮฏฮธฮผฮทฯฮทฯ ฮตฮฏฮฝฮฑฮน ฮผฮนฮฑ ฯฯ
ฮฝฮทฮธฮนฯฮผฮญฮฝฮท ฮตฯฮณฮฑฯฮฏฮฑ ฯฮฟฯ
ฮฑฮฝฯฮนฮผฮตฯฯฯฮฏฮถฮฟฯ
ฮฝ ฮฟฮน ฯฯฮฟฮณฯฮฑฮผฮผฮฑฯฮนฯฯฮญฯ. ฮฯ
ฯฯ ฮฑฯฮฑฮนฯฮตฮฏฯฮฑฮน ฯฮต ฯฮตฮฝฮฌฯฮนฮฑ ฯฯฮฟฯ
ฯฯฮญฯฮตฮน ฮฝฮฑ ฮตฯฮนฮบฯ
ฯฯฯฮตฯฮต ฯฮทฮฝ ฮตฮฏฯฮฟฮดฮฟ ฯฯฮฎฯฯฮท ฮฎ ฮฝฮฑ ฯฮตฮนฯฮนฯฯฮตฮฏฯฮต ฮฟฯฮนฯฮผฮญฮฝฮฟฯ
ฯ ฯฯฯฮฟฯ
ฯ ฮผฮต ฮฒฮฌฯฮท ฯฮทฮฝ ฯฮนฮผฮฎ enum. ฮคฮฟ C# ฯฮฑฯฮญฯฮตฮน ฮญฮฝฮฑฮฝ ฮฑฯฮปฯ ฯฯฯฯฮฟ ฮณฮนฮฑ ฮฝฮฑ ฯฮฟ ฯฮตฯฯฯฮตฯฮต ฮฑฯ
ฯฯ ฯฯฮทฯฮนฮผฮฟฯฮฟฮนฯฮฝฯฮฑฯ ฯฮทฮฝ ฮบฮปฮฌฯฮท Enum ฮบฮฑฮน ฮปฮฏฮณฮฟ LINQ.
ฮฯ ฮตฮพฮตฯฮตฯ
ฮฝฮฎฯฮฟฯ
ฮผฮต ฯฮท ฮปฯฯฮท ฯฮฟฯ
ฮบฮฌฮฝฮตฮน ฯฮทฮฝ ฮฑฮฝฮฌฮบฯฮทฯฮท ฯฮทฯ ฮผฮญฮณฮนฯฯฮทฯ ฯฮนฮผฮฎฯ ฮผฮนฮฑฯ ฮฑฯฮฑฯฮฏฮธฮผฮทฯฮทฯ ฯฯฯฮฟ ฮตฯฮบฮฟฮปฮท ฯฯฮฟ ฮท ฯฮฏฯฮฑ.
ฮดฮทฮผฯฯฮนฮฟฯ ฮฑฯฮนฮธฮผฯฯ MyEnum
{
ฮฯฮนฮปฮฟฮณฮฎ 1 = 1,
ฮฯฮนฮปฮฟฮณฮฎ 2 = 2,
ฮฯฮนฮปฮฟฮณฮฎ 3 = 3
}
...
ฮดฮทฮผฯฯฮนฮฑ int GetMaxEnumValue()
{
ฮตฯฮนฯฯฯฮฟฯฮฎ Enum.GetValues(typeof(MyEnum)).Cast().ฮฮญฮณฮนฯฯฮท();
}
ฮฯ
ฯฯ ฯฮฟ ฯฯฮฝฯฮฟฮผฮฟ ฮบฮฟฮผฮผฮฌฯฮน ฮบฯฮดฮนฮบฮฑ ฮบฮฌฮฝฮตฮน ฯฮปฮท ฯฮท ฮดฮฟฯ
ฮปฮตฮนฮฌ ฮณฮนฮฑ ฯฮทฮฝ ฮฑฮฝฮฌฮบฯฮทฯฮท ฯฮทฯ ฯ
ฯฮทฮปฯฯฮตฯฮทฯ ฯฮนฮผฮฎฯ ฯฯฮฟ enum. ฮ ฯฯ ฮปฮตฮนฯฮฟฯ
ฯฮณฮตฮฏ ฯฮผฯฯ;
Deep Dive Into The Code
ฮคฮฟ `Enum.GetValues(typeof(MyEnum))` ฮตฮฏฮฝฮฑฮน ฯฮฟ ฯฯฯฯฮฟ ฮบฯฮฏฯฮนฮผฮฟ ฮบฮฟฮผฮผฮฌฯฮน ฯฮฟฯ
ฯฯฮญฯฮตฮน ฮฝฮฑ ฮณฮฏฮฝฮตฮน ฮบฮฑฯฮฑฮฝฮฟฮทฯฯ. ฮฯ
ฯฮฎ ฮท ฮตฮฝฯฯฮผฮฑฯฯฮผฮญฮฝฮท ฮผฮญฮธฮฟฮดฮฟฯ .NET ฮตฯฮนฯฯฯฮญฯฮตฮน ฮญฮฝฮฑฮฝ ฯฮฏฮฝฮฑฮบฮฑ ฯฮฟฯ
ฯฮตฯฮนฮญฯฮตฮน ฯฮนฯ ฯฮนฮผฮญฯ ฯฯฮฝ ฯฯฮฑฮธฮตฯฯฮฝ ฯฮต ฮผฮนฮฑ ฮบฮฑฮธฮฟฯฮนฯฮผฮญฮฝฮท ฮฑฯฮฑฯฮฏฮธฮผฮทฯฮท. ฮ ฯฯฯฮฟฯ ฮฑฯฮฑฯฮฏฮธฮผฮทฯฮทฯ ฮผฮตฯฮฑฮฒฮนฮฒฮฌฮถฮตฯฮฑฮน ฯฯ ฯฮฑฯฮฌฮผฮตฯฯฮฟฯ ฯฯฮท ฮผฮญฮธฮฟฮดฮฟ ฯฯฮทฯฮนฮผฮฟฯฮฟฮนฯฮฝฯฮฑฯ ฯฮท ฮปฮญฮพฮท-ฮบฮปฮตฮนฮดฮฏ ยซtypeofยป.
ฮฯฮปฮนฯ ฮญฯฮฟฯ
ฮผฮต ฯฮฟฮฝ ฯฮฏฮฝฮฑฮบฮฑ, ฯฯฮญฯฮตฮน ฮฝฮฑ ฯฮฟฮฝ ฯฮฏฮพฮฟฯ
ฮผฮต ฯฮต ฮฑฮบฮญฯฮฑฮนฮฟฯ
ฯ ฮฑฯฮนฮธฮผฮฟฯฯ. ฮฯ
ฯฯ ฮณฮฏฮฝฮตฯฮฑฮน ฯฯฮทฯฮนฮผฮฟฯฮฟฮนฯฮฝฯฮฑฯ ฯฮฟ .Cast() ฮผฮญฮธฮฟฮดฮฟฯ ฯฮฟฯ
ฮฑฯฮฟฯฮตฮปฮตฮฏ ฮผฮญฯฮฟฯ ฯฮฟฯ
LINQ (Language Integrated Query). ฮคฮฟ LINQ ฮตฮฏฮฝฮฑฮน ฮญฮฝฮฑ ฯฯฮฝฮฟฮปฮฟ ฯฮตฯฮฝฮนฮบฯฮฝ ฮบฮฑฮน ฮผฮตฮธฯฮดฯฮฝ ฯฯฮฟ .NET ฯฮฟฯ
ฮผฮฑฯ ฮตฯฮนฯฯฮญฯฮตฮน ฮฝฮฑ ฮตฯฮณฮฑฮถฯฮผฮฑฯฯฮต ฮผฮต ฮดฮตฮดฮฟฮผฮญฮฝฮฑ ฮผฮต ฯฮนฮฟ ฮดฮนฮฑฮนฯฮธฮทฯฮนฮบฯ ฮบฮฑฮน ฮตฯ
ฮญฮปฮนฮบฯฮฟ ฯฯฯฯฮฟ.
ฮฮตฯฮฌ ฯฮท ฮผฮตฯฮฌฮดฮฟฯฮท ฯฯฮฝ ฯฮนฮผฯฮฝ ฯฮต ฮฑฮบฮญฯฮฑฮนฮฟฯ
ฯ ฮฑฯฮนฮธฮผฮฟฯฯ, ฮท ฮปฮฎฯฮท ฯฮทฯ ฮผฮญฮณฮนฯฯฮทฯ ฯฮนฮผฮฎฯ ฮตฮฏฮฝฮฑฮน ฯฯฯฮฟ ฮฑฯฮปฮฎ ฯฯฮฟ ฮท ฮบฮปฮฎฯฮท ฯฮทฯ ฮผฮตฮธฯฮดฮฟฯ
.Max(), ฮญฮฝฮฑ ฮฌฮปฮปฮฟ ฮตฮพฮฑฮนฯฮตฯฮนฮบฯ ฮตฯฮณฮฑฮปฮตฮฏฮฟ ฯฮฟฯ
ฯฮฑฯฮญฯฮตฯฮฑฮน ฮฑฯฯ ฯฮฟ LINQ. ฮฯ
ฯฮฎ ฮท ฮผฮญฮธฮฟฮดฮฟฯ ฮตฯฮนฯฯฯฮญฯฮตฮน ฯฮท ฮผฮญฮณฮนฯฯฮท ฯฮนฮผฮฎ ฯฮต ฮผฮนฮฑ ฯฯ
ฮปฮปฮฟฮณฮฎ ฯฮนฮผฯฮฝ int.
ฮฮพฮนฮฟฯฮฟฮนฯฮฝฯฮฑฯ ฯฮนฯ ฮฒฮนฮฒฮปฮนฮฟฮธฮฎฮบฮตฯ Enum ฮบฮฑฮน LINQ
ฮ ฮบฮปฮฌฯฮท Enum ฮตฮฏฮฝฮฑฮน ฮผฮญฯฮฟฯ ฯฮฟฯ
ฯฯฯฮฟฯ
ฮฟฮฝฮฟฮผฮฌฯฯฮฝ ฯฯ
ฯฯฮฎฮผฮฑฯฮฟฯ ฯฯฮฟ .NET ฮบฮฑฮน ฯฮฑฯฮญฯฮตฮน ฯฮฟฮปฮปฮญฯ ฯฯฮฑฯฮนฮบฮญฯ ฮผฮตฮธฯฮดฮฟฯ
ฯ ฮณฮนฮฑ ฮตฯฮณฮฑฯฮฏฮฑ ฮผฮต ฮฑฯฮฑฯฮนฮธฮผฮฎฯฮตฮนฯ. ฮฮฏฮฝฮฑฮน ฮท ฮฒฮฑฯฮนฮบฮฎ ฮฒฮนฮฒฮปฮนฮฟฮธฮฎฮบฮท ฯฯฮฑฮฝ ฯฯฮญฯฮตฮน ฮฝฮฑ ฮตฮบฯฮตฮปฮญฯฮตฯฮต ฮฟฯฮฟฮนฮฑฮดฮฎฯฮฟฯฮต ฮปฮตฮนฯฮฟฯ
ฯฮณฮฏฮฑ ฯฮฟฯ
ฯฯฮตฯฮฏฮถฮตฯฮฑฮน ฮผฮต ฯฯฯฮฟฯ
ฯ enum.
ฮฯฯ ฯฮทฮฝ ฮฌฮปฮปฮท ฯฮปฮตฯ
ฯฮฌ, ฯฮฟ LINQ, ฮผฮญฯฮฟฯ ฯฮฟฯ
ฯฯฯฮฟฯ
ฮฟฮฝฮฟฮผฮฌฯฯฮฝ System.Linq, ฮตฮฏฮฝฮฑฮน ฮญฮฝฮฑ ฮฑฯฯ ฯฮฑ ฯฮนฮฟ ฮนฯฯฯ
ฯฮฌ ฯฮฑฯฮฑฮบฯฮทฯฮนฯฯฮนฮบฮฌ ฯฮทฯ C#. ฮ ฮฑฯฮญฯฮตฮน ฮดฮนฮฌฯฮฟฯฮตฯ ฮผฮตฮธฯฮดฮฟฯ
ฯ ฮณฮนฮฑ ฯฮฟฮฝ ฮฑฯฮฟฯฮตฮปฮตฯฮผฮฑฯฮนฮบฯ ฯฮตฮนฯฮนฯฮผฯ ฯฯฮฝ ฯฯ
ฮปฮปฮฟฮณฯฮฝ, ฯฯฯฯ ฯฮท ฮปฮฎฯฮท ฯฯฮฝ ฮผฮญฮณฮนฯฯฯฮฝ, ฮตฮปฮฌฯฮนฯฯฯฮฝ ฮฎ ฮผฮญฯฯฮฝ ฯฮนฮผฯฮฝ, ฯฮฑฮพฮนฮฝฯฮผฮทฯฮท ฮบฮฑฮน ฯฮนฮปฯฯฮฌฯฮนฯฮผฮฑ ฮดฮตฮดฮฟฮผฮญฮฝฯฮฝ.
ฮ ฮตฯฮนฯฯฯฯฮตฯฮฑ