跟siki老师学C#第六天

来源:互联网 发布:windows手写笔记软件 编辑:程序博客网 时间:2024/04/25 22:03

我们在第五天学习了类型转换和一个复杂类型–枚举类型。今天我们接着学习复杂类型中的剩余两个类型–结构体和数组。

其实枚举类型和结构体比较类似,它们都是定义在命名空间中、类的上面。
这两个类型都是定义出来供我们使用的,但是是有区别的,枚举类型里面存储的是一个变量的不同取值,而结构体则表示的是不同变量。

这么说可能大家还不清楚,那是当然,我还没介绍结构体呢。

刚才说枚举类型和结构体的定义方式相同,那我们来试着定义一个结构体:

namespace CSharp学习第五课{    struct position        {            string positionName;            int xPosition;            int yPosition;            int zPosition;        }}

上面就是结构体的定义,可以看出与枚举类型相同,只是稍有不同:
1.使用了struct关键字,枚举类型是enum关键字;
2.结构体中不是同一个值的不同取值,而是与它相关的属性(可初始化,也可以后续赋值),定义了一个结构体之后,后面声明一个这样的结构体,就自动把该结构体中的属性全都声明了一遍,可以直接使用;
3.枚举类型最后一个值后面不加逗号,且变量值之间是用逗号隔开的,而结构体中因为内部定义的是变量,所以用分号隔开,而且最后一个变量后面理所当然要加上分号;
4.枚举类型中所有值是按照数字存储的,且按自动或指定的方式排列的,在结构体中没有这样的说法,变量的类型也是自己指定的。

结构体的用法与枚举类型也相似:先声明,然后去点出它的值或者属性:
这里写图片描述
这里我们发现报错了,也就说现在因为权限问题,访问不到positionName这个变量,下面的变量也是无法访问的,我们对结构体做一下修改:

struct position    {        public string positionName;        public int xPosition;        public int yPosition;        public int zPosition;    }

这样我们就可以点出来变量了,这一点要注意!!

说到这里我想这个结构体其实就是一个类,类名叫position,类里面定义了公开的若干个变量,在用到的时候直接用类名去new一个对象,这个对象被实例化之后就包含了其中的属性,也就可以引用里面的变量了。记得变量是公开的!

结构体我们大概介绍这么多,接下来就是数组了,数组也是三种复杂类型之一,但是与结构体和枚举类型相差非常大!
数组实际上是就是变量的集合,因为它存的是一组值,每一个值对应一个看不见的变量名。
我们先来定义一个数组: 数组类型[] (空一格)数组名;
这是最基本的定义方式:

int[] intArray;

这样我们就定义好了一个int类型的数组,当然了还没有初始化,也没有设置这个数组的长度,而且这个数组只能存放int类型的一组值,同一个数组中不能存放类型不同的值。

下面看看数组长度的指定以及给数组存入值,数组的长度确定后,数组内存的值的个数不能多于该长度:
第一种方式:

int[] intArray=new int[10];    //定义了长度为10的int类型数组

第二种方式:

int[] intArray={0,1,2,3,4,5,6,7,8,9};   //声明了一个int类型数组,并且给出了长度以及初始化

第三种方式:

int[] intArray= new int[10]{0,1,2,3,4,5,6,7,8,9};   //与上面第二个相同,只是可能会好理解一些

既然数组存的是一组值,那么我们可能需要对数组的特定值进行操作,因此数组不能直接把一堆数据存进去就算了,而是要给这些数据编号,用到哪个数据,我们就用编号去查找哪一个数据。

intArray[0];   //表示intArray数组中的第一个数据intArray[5];   //表示intArray数组中的第六个数据

数组我们以前学习编程的时候学习过,接触的也比较多,虽然语言不太一样,但也只是形式不同,方法还是类似的,所以就不多说。

好了,接下来又是十三道练习题,可能会比较难,但是基本功无论如何都要练习!

今天的总结:大致回顾了昨天讲的枚举类型,今天又讲了结构体的定义和使用,它与枚举类型的区别、然后是数组的简单复习。

今天就先到这里,做做练习吧,欢迎大家对学习内容进行批评指正,万分感谢!!

0 0
原创粉丝点击