C#基本原理
一、.NET平台
Net是1个平台,C#是一门语言
C#语言通过.Net平台编写.Net应用程序
Net平台组成:
FCL框架类库:将我们在编写过程中经常要用到的功能写成类,这些类的集合叫做框架类库
CLR:公共语言运行时是Net程序创建、部署、运行的必备
二、数据类型的转换
隐式转换:(1)逐句类型兼容 (2)目标类型大于源类型
强制转换 :将1个大的数据类型转换到小的数据类型
三、方法
1. 基本概念:
(1)方法的参数如果有默认值的时候,在调用这个方法的时候,可以不给这个参数传值
(2)带默认值的参数必须放在参数列表的最右侧
(3)调用带参数的方法的时候可以显示的指定
Test(str:"好像");
private static void Test(string str,int i=100) {
i++;
}
2.重载:
(1)方法的名字一样
(2)方法参数的个数、类型、顺序不一样
(3)必须在同一个类中
(4)与返回值无关
3.Params:
(1)这个参数必须放在列表的最后1个
(2)可变参数必须放在参数列表最后,且不能有默认值
(3)Params只能修饰一维数组
(4)调用的时候,可以直接传递元素的值
(5)可变参数赋值的时候,可以直接传递数组元素,在调用的时候,会自动的将这些元素封装为1个数组,并将数组传递
int[] arr = {2, 3, 4};
Test("好像", arr);
Test("好像",2,2,3);
private static void Test(string str,params int[] arr)
{
i++;
}
4.Ref&&Out:
(1)都是只传递变量的地址,只能传递变量,不能传递常量
(2)ref在传递之前必须赋值,因为ref侧重于修改 在方法中可以为ref改值也可以不改值
(3) out可以在传递之前可以不赋值因为out侧重于输出,在方法中必须为out赋值
四、常量与只读变量
1.常量(const):
const:修饰的数据叫常量
C#编译器在编译的之后,使用常量的地方就用常量的值替代
常量是编译时的,所以需要在编译的时候就要确定常量的
2.只读变量(readonly)
只能在构造函数中改变该变量的值
是运行时的,所以其值不需要再编译的时候确定