---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------
经过前几天的学习,现在整理并巩固一下C#中的一些基础知识:结构体、枚举和数组
1、结构体:
语法:
访问修饰符 struct 结构名
{
//定义结构成员
}
(在结构中定义变量时,必须要加public修饰)
在定义好一个结构后,就可以直接声明相应的变量,声明好变量后,通过变量名.成员名 来访问结构的成员。
为什么要用结构?
1)比如我们为了存储一个人的信息,要声明一组变量,当我们要存储的n个人的信息时,就要声明n租变量,这样就会很麻烦;
2)存储一个人的信息这几个变量间没有关系,容易记乱。
3)当申明的一组信息时,它们的类型不一样时用struct存储就很方面,示例代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace _06struct
{
enum Gender { 男,女}
class Program
{
public struct Person
{
public string name;
public Gender sex;
public int age;
}
static void Main(string[] args)
{
Person firPerson;
firPerson.name = "张三";
firPerson.sex = Gender.男;
firPerson.age = 20;
Person secPerson;
secPerson.name = "李四";
secPerson.sex = Gender.女;
secPerson.age = 19;
Console.WriteLine("大家好,我叫{0},我是一位{1}生,我今年{2}岁了!",firPerson.name,firPerson.sex,firPerson.age);
Console.ReadKey();
}
}
}
2、枚举
语法:
enum 自己起的类型名称 {值1,值2,值3……值n};
注意:
枚举的定义一般和类定义在同一个级别,这样在同一个命名空间的所有的类就都可以使用这个枚举了。
定义枚举时,值不能为int类型;
枚举类型的变量都可以强制转换为int类型;
枚举的值在定义时是有一个默认的编号的,编号从0开始。
枚举的作用:
1)限制用户不能随意赋值,只能在定义枚举的时候列举的值中选择;
2)不需要死记每一个值是什么,只需要选择相应的值。
什么时候用枚举?
当我们定义一种枚举类型并且在定义这种类型时我们要指定这个类型的所有值的时候,就要用枚举。
如何把一个字符串转换成枚举类型?
(自定义枚举类型)(Enum.Parse(typeof(自定义枚举类型),带转换字符串)),示例如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace @enum
{
enum Gender { 男,女}
class Program
{
static void Main(string[] args)
{
Console.WriteLine("请输入您的性别(男/女):");
Gender sex;
try
{
//用户自己输入的性别
sex = (Gender)(Enum.Parse(typeof(Gender), Console.ReadLine()));
Console.WriteLine("您的性别为:{0}", sex);
}
catch
{
Console.WriteLine("对不起,您输入的信息有误!");
}
Console.ReadKey();
}
}
}
3、数组
C#中数组是一个很重要的知识点,数组可以帮我们一次声明多个同类型的变量,这些变量在内存中是连续存储的。
语法:
数据类型 [] 数组名 = new 数据类型[数组长度]
例如:int [] Score = new int [5];
就声明了一个长度为5的数组,数组叫Score;通俗点说:就是声明了一个数组,里面包含了5个int类型的变量,数组名叫:Score ,里面的5个int类型的变量叫做数组元素。
如何访问数组?
通过下标(索引)来访问数组:数组名[编号]
比如,我们要访向第0个元素赋一个3,可以这样写:Score[0] = 3 ;
int类型数组一旦声明,里面的每一个元素都被初始化为0.
通过 数组名.Length 可以获取数组的元素个数(长度)。示例如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace 数组
{
class Program
{
//某个班级一共有60人,统计所有人的平均成绩,并且把每个人的成绩也显示出来
static void Main(string[] args)
{
int[] score = new int[60];
int sum = 0;
try
{
for (int i = 0; i < 60; i++)
{
Console.WriteLine("请输入第{0}个同学的成绩:", i + 1);
score[i] = Convert.ToInt32(Console.ReadLine());
sum += score[i];
}
double average = 1.0 * sum / 60;
Console.WriteLine("该班级所有学生的平均成绩为:", average);
for (int i = 0; i < 60; i++)
{
Console.WriteLine("第{0}个学生的成绩为:{1}", i + 1, score[i]);
}
}
catch
{
Console.WriteLine("您的成绩输入有误!");
}
Console.ReadKey();
}
}
}
---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------详细请查看:http://net.itheima.com/