请教一个有关数组的问题,还请各位大神帮帮忙,多谢
class Program
{
enum MyColor { 赤, 橙, 黄, 绿, 青, 蓝, 紫 };
enum People { 小明 = 22, 小张 = 21, 小王 = 16, 小吕 = 23 };
static void Main(string[] args)
{
string[] color = Enum.GetNames(typeof(MyColor));
Console.WriteLine("七色光:");
foreach (string c in color)
Console.Write("{0} ", c);
People[] person = { People.小明, People.小张, People.小王, People.小吕 };
Console.WriteLine("\n个人信息:");
foreach (People p in person)
{
Console.WriteLine("{0} 年龄:{1}", p, p.GetHashCode());
}
Console.ReadLine();
}
我想问三个问题:
1、Enum.GetNames(typeof(MyColor))中,GetNames和typeof(MyColor)分别是什么意思?
2、People[] person 中,People为什么可以声明一个数组呢?
3、p.GetHashCode()中,GetHashCode()是什么意思呢?
我刚开始自学,还请各位大神帮帮忙 !多谢了!
------解决方案--------------------1、Enum.GetNames是Enum的静态方法,用于获取枚举类型的名称(返回string数组)。因为GetNames方法需要提供一个枚举类型的Type,因此通过typeof(MyColor)可以得到。
2、数组就是具有相同类型的一系列变量的集合。只要是相同类型的都可以放在一起。类型可以是string、int,也可以是class、enum。
3、其实想获得枚举元素所代表的值,可以直接(int)p。
比如:
Console.WriteLine("{0} 年龄:{1}", p, (int)p);