C#入门--其他变量(枚举、结构、数组)
枚举--变量类型,用户定义了一组可能的离散值,这些值可以用人们能理解的方式应用。
结构--合成的变量类型,由用户定义的一组其他变量类型组成
数组--包含一种类型的多个变量,可以以索引方式访问各个数值。
定义枚举:
可以使用enum关键字来定义枚举,如下所示:
enum<typeName>
{
<value1>,
<value2>,
<value3>,
…
<valueN>
}
接着声明这个新类型变量:
<typeName><varName>;
并赋值:
<varName>=<typeName>.<value>
练习:
程序如下:
namespace bianliang
{
enum orientation : byte
{
north = 1,
south,
east,
west
}
class Program
{
static void Main(string[] args)
{
byte directionByte;
string directionString;
orientation myDirection = orientation.north;
Console.WriteLine("myDirection={0}", myDirection);
directionByte = (byte)myDirection;
directionString = Convert.ToString(myDirection);
Console .WriteLine ("{0},{1}.",directionByte ,directionString);
Console.ReadKey();
}
}
}
结果如下:
结构:
结构就是由几个数据组成的数据结构,这些数据可能具有不同的类型。根据这个结构,可以定义自己个变量类型。
定义结构:
使用struct关键字来定义结构,如下所示:
struct <typeName
>
{
<memberDeclarations>
}
<memberDeclarations>部分包含变量声明(成为结构的数据成员),其格式与往常一样。每个成员声明都采用如下形式:
<accessibility><type><name>;
要让调用结构的代码访问该结构的数据成员,可以对<accessibility>使用关键字public,例如:
struct route
{
public orientation diretion;
public double distance;
}
namespace jiegou
{
enum orientation : byte
{
north = 1,
south,
east,
west
}
struct route
{
public orientation direction;
public double distance;
}
class Program
{
static void Main(string[] args)
{
route myRoute;
int myDirection = -1;
double myDistance;
Console.WriteLine("1) North\n2) South\n3) East\n4) West");
do
{
Console.WriteLine("Select a direction:");
myDirection = Convert.ToInt32(Console.ReadLine());
}
while ((myDirection < 1) || (myDirection > 4));
Console.WriteLine("Input a distance:");
myDistance = Convert.ToDouble(Console.ReadLine());
myRoute.direction = (orientation)myDirection;
myRoute.distance = myDistance;
Console.WriteLine("myRoute specifies a direction of {0} and a " +
"distance of {1}", myRoute.direction, myRoute.distance);
Console.ReadKey();
}
}
}
结果如下图所示:
数组:
数组有一个基本类型,数组中各个数目都是这种类型。数组的条目通常称为元素。
声明数组:
以下方式声明数组:
<baseType>[]<name>;
其中,<baseType>可以是任意变量类型,包括枚举、结构类型。数组必须在访问之前初始化.
数组初始化有两种方式。可以以字面形式指定数组的完整内容,也可以指定数组的大小,再使用关键字new初始化所有数组的元素。
使用字面值指定数组,只需要提供一个用逗号分割的元素值列表,该列表放在花括号中,例如:
int [] myIntArray ={1,2,3,4,5};
另一种方式需要使用一下语法:
int [] myIntArray = new int[5];
这里使用关键字new显式地初始化数组,用一个常量值定义其大小。这种方法会给所有的数组元素赋予同一个默认值,对于数值类型来说,其默认值是0.也可以使用非常量的变量来进行初始化。例如:
int [] myIntArray = new int[arraySize];
还可以使用两种初始化方式的组合:
int [] myIntArray = new int[5] {1,2,3,4,5};