结构体(struct)指的是一种数据结构,一个变量组,是一个自定义的集合。
通常使用结构体创造新的“属性”,封装一些属性来组成新的类型。
定义:
结构体一般定义在Mian函数上面,位于Class下面,作为一个类。一般情况Struct定义在Mian函数前面,Mian函数里面的地方都可以使用,参数前面加上public代表公用变量。
格式
struct + 结构的名称
{
public int 变量名 ;
public string 变量名 ;
public DateTime 变量名 ;
public double 变量名 ;
。。。。。。。。
}
用法
案例一
struct student //定义一个以student命名的结构体
{
public string code ; (学号)
public string name ; (姓名)
public string sex ; (性别) //声明student结构体中包含的内容及类型
public DateTime birthday ; (生日)
public double score ; (成绩)
}
student s = new student (); //创建一个student的个体对象
s.code = " s001 ";
s.namu = "张三";
s.sex "男"; //添加数据
s.birthday = Convert.ToDateTime("1990-1-1");
s.score = 99.5;
案例二
struct student
{
public string code ; (学号)
public string name ; (姓名)
public string sex ; (性别)
public DateTime birthday ; (生日)
public double score ; (成绩)
}
List <student> ss = new List <student> ( ); //建一个student 类型的集合
for( int i = 0 ; i < 3 ; i++ )
{
student s = new student ( );
Console.WriteLine("请输入第"+i+1+"个学生的学号");
s.code = Console.ReadLine();
Console.WriteLine("请输入第"+i+1+"个学生的姓名");
s.name = Console.ReadLine();
Console.WriteLine("请输入第"+i+1+"个学生的性别");
s.sex = Console.ReadLine();
Console.WriteLine("请输入第"+i+1+"个学生的生日");
s.brithday = Convert.ToDateTime( Console.ReadLine());
Console.WriteLine("请输入第"+i+1+"个学生的成绩");
s.score = Convert.ToDouble(Console.ReadLine());
ss.Add( s ) ; //保存输入的数据到 ss 集合中!!!
}
foreach ( student a in ss )
{
if ( a.name == "李四" ) // 遍历 打印李四的成绩
{
Console.WriteLine( a.score );
}
}
枚举是一个被命名的整型常数的集合
枚举值是常量,不是变量。不能在程序中用赋值语句再对它赋值
只能把枚举值赋予枚举变量,不能把元素的数值直接赋予枚举变量。
定义
在Main 函数之外,与结构体相似
格式
enum 枚举名
{
标识符 = 整型常数, //可以将“ = 整型常数 ” 省掉,省掉后默认索引。
标识符 = 整型常数 // 以逗号结束,最后一个可省略
...
}
案例
enum sex
{
男,
女
}
...........
sex s = sex.(男/女) //只能在点后选择男或女。