C#基础整理(二)

1、变量类型
int、double、string、char、bool、decimal
变量使用规则:先声明,再赋值,最后使用

2、命名规范:
Camel:第一个单词首字母小写,其他单词首字母大写,其余字母小写
Pascal:每个单词的首字母都大写,其余字母小写

5、常量
声明常量的语法:
const 变量类型 变量名=值;
例:public const int Che_SHI = 10001;
常量一旦赋值,不能被重新赋值

6、枚举(规范我们的开发)
语法:
[public] enum 枚举名
{
值1,
值2,
值3,
...........
}

[]中表示可以省略
Public:访问修饰符,公开的公共的,修饰一个成员的访问权限。
enum:关键字,声明枚举的关键字
枚举名:要符合pascal命名规范
将枚举声明到命名空间的下面,类的外 面,表示这个命名空间下,所有的类都可以使用这个枚举。
枚举就是一个变量类型,像int、string这样
只是枚举声明、赋值、使用的方式跟那些普通的变量类型不一样。
枚举是自己写的变量类型

我们可以将一个枚举类型的变量跟int类型和string类型互相转换。
枚举类型默认是跟int类型相互兼容的,所以可以通过强制类型转换的语法互相转换。
当转换一个枚举中没有的值的时候,不会抛异常,而是直接将数字显示出来。

枚举同样也可以跟string类型互相转换,如果将枚举类型转换成string类型,则直接调用ToString().
如果将字符串转换成枚举类型则需要下面这样一行代码:
(要转换的枚举类型)Enum.Parse(typeof(要转换的枚举类型),"要转换的字符串");
调用Enum类里的Parse()方法来帮助我们将一个字符串转换成对应的枚举类型
如果转换的字符串是数字,则就算枚举中没有,也会不会抛异常。
如果转换的字符串是文本,如果枚举中没有,则会抛出异常。

7、结构
为了一次性声明多个不同类型的变量(字段)
语法:
[public] struct 结构名
{
public string name;
成员//字段
}

程序中字段能存多个值,变量只能存一个值。
字段起名规范,每个字段前面加一个下划线,来区分变量和字段。

8、数组
一次性存储多个相同类型的变量就用数组。
语法:
数组类型[] 数组名=new 数组类型[数组长度];
int []nums=new int [5];
数组的长度一旦固定了,就不能再被改变了

数组拥有初值
int数组初值 0
string数组初值 null(不占空间)
bool数组初值 false

四种写法
int[] nums = new int[5];
int[] nums = { 1, 2, 3, 4, 5 };(常用)
int[] nums = new int[5] { 1, 2, 3, 4, 5 };
int[] nums = new int[] { 1, 2, 3, 4, 5, };

int范围 最大值 int.MaxValue
最小值 int.MinValue
可以通过下标或者索引去访问数组中的元素

9、冒泡排序
将一个数组中的元素按照从大到小或者从小到达的顺序进行排列。
int[] nums = { 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 };
Array.Sort(nums); //对数组进行升序排列
Array.Reverse(nums); //对数组进行倒序排列
不需要返回值,需要一个数组作为参数

10、方法/函数
函数就是将一堆代码进行重用的一种机制。
函数的语法:
[public]static 返回值类型 方法名([参数列表])
{
方法体:
}
public static int AddSum(int a,int b)
{
return a+b;
}

返回值类型:如果不需要写返回值,写void。有返回值的用return返回
参数列表:完成这个方法所必须要提供给这个方法的参数。有些方法不需要写参数。

11、return的用法
1)在方法中返回要返回的值。
2)立即结束本次方法。
3)一层一层的门,return只返回上一层。

12、我们在Main()函数中,调用Test()函数。
我们管Main()函数称之为调用者,管Test()函数称之为被调用者。
如果Test()想要得到Main()的值:
1)传递参数。
2)使用静态字段来模拟全局变量。

如果Main()想要得到Test()的值:
1)返回值

13、不管是实参还是形参,都是在内存中开辟了空间的。

14、方法的功能一定要单一。
方法中不要出现提示用户输入。

15.out、ref、params
1)、out参数。
如果你在一个方法中,返回多个相同类型的值的时候,可以考虑返回一个数组。
但是,如果返回多个不同类型的值的时候,返回数组就不行了,那么这个时候,
我们可以考虑使用out参数。
out参数在一个方法中可以返回多个不同类型的值。
out参数要求在方法的内部必须为其赋值

2)、ref参数
能够将一个变量带入一个方法中进行改变,改变完成后,再将改变后的值带出方法。
ref参数要求在方法外必须为其赋值,而方法内可以不赋值。
ref不需要创建一个新的变量来接收返回值。

ref是 有进有出,而out是 只出不进。
3)、params可变参数
将实参列表中跟可变参数数组类型一致的元素都当做数组的元素去处理。
params可变参数必须是形参列表中的最后一个元素。

public static void Test(string name,params int [] score)

16.方法的重载
概念:方法的重载指的就是方法的名称相同,但是参数不同。
参数不同,分为两种情况
1)、如果参数的个数相同,那么参数的类型就不能相同。
2)、如果参数的类型相同,那么参数的个数就不能相同。
***方法的重载跟返回值没有关系。

用哪个就传哪个参
方法的重载就是可以放任何的参数

17、字符串的用法
字符串的length可以用来比较字的长度

18.方法中改变数组,不需要返回值来接收就可以改变。数组在方法中是个例外。

19.Cosole的几种方法
1)改变字体颜色
Console.ForegroundColor = ConsoleColor.Yellow;
2)console.clear(); 清屏
3)console.readkey(true);不显示输出的按键
4)输出时,保留小数点后两位
Double avg=10/3;
Console.WriteLine("{0:0.00}", avg);

上一篇:Ubuntu 10.04启动进入命令行模式


下一篇:关于有限状态机FSM同步复位的问题