一、复习
二、常量
int number1 = 30; //变量
const int number2 = 30; //常量 不能被重新赋值
三、变量类型--枚举
语法
[public] enum 枚举名 //规范开发
{
值1,
值2,
值3,
.......
}
-[ ]:中括号:可以省略
-public:访问修饰符,公开的公共的,都可以访问
-enum:关键字,声明枚举的关键字
-枚举名:要符合Pascal的命名规范
-不能在main函数中声明,最好写在命名空间的下边,类的外边,表示所有的类都可以使用枚举
-与in、double、char、string等本质i相同都是变量用来存储数据,应用不同
举例
声明枚举变量
public enum Gender
{
男,
女
}
static void Main(string[ ]args)
{
int n = 10;
Gender gender = Gender. ;
}
枚举和int以及string类型之间的转换
枚举强转int
//枚举类型默认可以跟int类型相互转换 枚举类型与int类型是相互兼容的
public enum Gender
{
男,
女,
fei,
ggsg,
gdsg,
hhdgd
}
internal class Program
{
static void Main(string[] args)
{
Gender gender = Gender.fei ;
int n = (int)gender ;
Console.Write(n);
Console.ReadLine();
}
}
int强转转枚举
public enum Gender
{
男,
女,
fei = 5,
ggsg,
gdsg,
hhdgd
}
internal class Program
{
static void Main(string[] args)
{
Gender gender = Gender.fei;
int n = (int)gender;
n = (int)Gender.fei;
Console.WriteLine((int)Gender.男);
Console.WriteLine((int)Gender.女);
Console.WriteLine((int)Gender.ggsg);
Console.WriteLine((int)Gender.gdsg);
Console.WriteLine((int)Gender.hhdgd);
Console.Write(n);
Console.ReadLine();
}
}
所有类型都能调用ToString() 转化为string
int n1 = 10;
decimal n2 = 100m;
string s = n1.ToString();
将string类型转换为枚举
int.parse( ) //转化为int类型
Enum.Parse( )//转化为枚举类型
调用Parse( )方法的目的是让它帮助我们完成一个字符串转换对应的枚举类型
typeof 获得类型
string n1 = "10";
Gender n2 = (Gender)Enum.Parse(typeof(Gender),n1);
练习
Console.WriteLine("请输入您的当前状态:1-online 2-offline 3-busy 4-leave");
string n = Console.ReadLine();
switch (n)
{
case "1": Gender name = (Gender)Enum.Parse(typeof(Gender), n);
Console.WriteLine("您当前状态为{0}",name);
break;
case "2": Gender name1 = (Gender)Enum.Parse(typeof(Gender),n);
Console.WriteLine("您当前状态为{0}", name1);
break;
case "3":Gender name2 = (Gender)Enum.Parse(typeof(Gender),n);
Console.WriteLine ("您当前的状态为{0}",name2);
break ;
default:Gender name3 = (Gender)Enum.Parse(typeof(Gender),n);
Console.WriteLine("您当前的状态为{0}",name3);
break;
}
四、结构
帮助我们一次性声明多个不同类型的变量,本质就是类型,自己写类似int的类型
语法
[public] struct 结构名
{
成员; //字段
}
变量:只能存一个值
字段:可以存多个值 要加 _
调色举例
public struct MyColor
{
public int _red;
public int _green;
public int _blue;
}
internal class Program
{
static void Main(string[] args)
{
MyColor mc;
mc._red = 255;
mc._green = 0;
mc._blue = 0;
五、数组
一次性声明(存储)多个相同类型的变量
语法
数组类型[ ] 数组名 = new 数组类型[数组长度]
int [ ] numbers = new int[10];
开辟了10个连续的空间,每一块空间称之为数组的元素
元素被赋予初值:0
如果想要访问数组中的某一块元素需要通过这个元素的下标或索引去访问,索引从0开始到(元素-1)结束
nums[6] = 10; //给数组中下标为6的第7个元素赋值
循环赋值
//通过循环给数组的每个元素依次赋值
int [ ] nums = int [10];
for(int i = 0; i <= nums.length ; i++)
{
nums[i] = i;
}
for(int j = 0 ; j<= nums.length ; j++)
{
Console.WriteLine(nums);
}
Console.ReadKey();
各数组初值
int [ ] nums = new int [10]; 初值为0
string[ ] nums = new string [10]; 初值为null //没开空间
bool[ ] nums = new bool [10]; 初值为false
声明方式
int [ ] nums1 = new int [6];
int [ ] nums2 = {1,2,3,4,5,6};
int [ ] nums = new int [6]{1,2,3,4,5,6};
int [ ] nums = new int [ ]{1,2,3,4,5,6};
冒号排序
将一个数组中的元素按从大到小或者从小到大进行排列
int [ ] numbers = {9,8,7,5,4,3}
int[] nums = { 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 };
//升序排列数组中的元素
Array.Sort(nums);
//反转数组中的元素
Array.Reverse(nums);
六、方法(函数)
概念
将一堆代码进行重用的一种机制。
这段代码可能有输入的值也可能有返回值。一个函数就是专门做这些事的人,我们调用他来执行一些事情,他可能需要我们提供一些数据(参数),执行后会有一些执行结果(返回值)给我们。
string = Console.ReadLine( ); 一个有返回结果的函数
Console.WriteLine("hello"); 一个有执行参数的函数
int i = Convert.ToInt32("22"); 一个既有参数又有返回值的函数
运用函数写代码就像拼积木,c#其实就是通过for 、 if 等基础语法将不同函数按照一定逻辑组织起来。
语法
[public] static 返回值类型 方法名([参数列表])
{
方法体;
}
public: 访问修饰符,公开的,公共的,都可以方位
static:静态的
返回值类型:如果不需要返回值,写 void
方法名:必须符合Pascal类型
参数列表:完成这个方法所必须要提供的条件,如果没有参数,小括号不能省略
return
作用
1、在方法中返回要返回的值
2、立即结束本次方法
与break、continue区别
方法的调用语法
方法写好后,想要执行必须在Main函数中调用
类名.方法名( );