一:c#简介
c#发音为“c-Sharp”。它是由Microsoft开发提供的面向对象的编程语言,它在.Net Framework上运行。我们可以使用c#编程语言开发不同类型的安全强大的应用程序。
c#是一种安全的,稳定的,简单的,优雅的,由c和c++衍生出来的面向对象的编程语言。
.
二,c#的程序结构:
命名空间声明;
一个Class;
Class方法;
Class属性;
一个Main方法;
语句&表达式;
注释;
Class:定义类的关键字
Program:类的名称
static:静态关键字,供所有对象公用
void:方法返回类型
Main:方法名称,c#程序的启动点
变量定义:内存中开辟一块用于储存数据的空间,是内存位置的名称
容量单位:位bit,每位表示0或1;
字节Byte:1Byte=8bit 1KB = 1024Byte
整数:
小数:
非数值型:
声明:在内存中开辟一块空间
** 变量类型 变量名;**
赋值:在该空间存储数据
*变量名 = 数据;
*
三,数据的基本运算:
1,赋值运算符 : =
2,算术运算符:+ – * / %
3,比较运算符:> < == !=
4,逻辑运算符:bool
逻辑规则:&&”并且“
|| “或者“
!”取反“
5,快捷运算符:+= -= *= /= %=
6,一元运算符:++”自增“ –”自减
++在变量后:先赋值在加
++在变量前:先加在赋值
7,三元运算符:数据类型 变量名 = 条件?结果1:结果2;
基本类型转换:
隐式转换
显示转换
四,选择语句
1,if else语句
if(bool表达式)//如果{语句一;}else if(bool表达式2)//否则如果{语句二;}else//否则{语句三;}
2,switch case语句
switch(表达式){case 常数值1://常数指不能相同//若干行语句break;//中断case之间程序case常数值2://若干行语句break;}
3,for循环:
for(初始化;条件;增减变量;){循环体}
4,while循环
while(bool表达式){循环体}
5,do while循环
do{循环体}while(条件)
跳转语句:continue:退出本次循环,执行下次循环
break:推出最近的循环体或switch语句
五,方法
定义方法:
[访问修饰符][可选修饰符]返回类型 方法名称(参数列表)
{
//方法体
return 结果;
}
方法调用:
方法名称(参数)
返回值类型:
1,有返回值方法中要有return;
2,void是无返回值类型
参数:
1,实参:调用方法叫实际参数
2,形参:定义方法时叫形式参数
值参数:调用方法时复制实参变量储存的内容
作用:传递数据
语法:…(数据类型 参数名)
引用参数:使用ref关键字修饰,调用方法时复制实参变量在栈中的引用
作用:改变数据
语法:…(ref 数据类型 参数名)
输出参数: 使用out关键字修饰
调用方法时复制实参变量在栈中的引用
作用:返回结果
语法:…(out 数据类型 参数名)
与引用参数区别:ref要求实参必须在传递前进行赋值
out要求形参离开方法前进行赋值
六:数组
1,定义数组:数据类型[] 数组名;
初始化数组:数组名 = new 数据类型[];
初始化加赋值:数据类型[]数组名 = new 数据类型[]{元素1,元素2};
声明加赋值:数据类型[]数组名 = {元素1,元素2};
2,访问数组元素
1,通过索引访问(数组索引:位置的序号)
语法:数组名[索引];
2,通过for遍历(遍历:按照某种顺序访问每一个元素)
语法:数组名[索引];
3,通过foreach遍历
语法:foreach(元素类型 变量名 in 数组名)
{
变量名表示数组中的每个元素
}
4,常用方法及属性
数组长度:数组名.Length
清除元素值:数组名.Clear
复制元素:数组名.copy/数组名.CopyTo
克隆:数组名.Clone
查找元素:数组名.indexOf/数组名.LastindexOf
排序:数组名.Sort
反转:数组名.Reverse
3,数组分类
1,一维数组
数据类型[]数组名 = {元素1,元素2};
2,多维数组
(1)声明+初始化
数据类型[,]数组名 = new 数据类型[行数,列数];
(2)初始化+赋值
数组名 = new 数据类型[,]{{元素1,元素2},{元素3,元素4}};
(3)读写元素
数组名[行索引,列索引]
3,交错数组
(1)定义:数据类型[][]数组名 = new 数据类型[元素总数][];
(2)赋值:数组名[索引] = new 数据类型[子元素值];
(3)读写元素:数组名[元素索引][子元素索引];
七:数据类型
1:类型分布
2,局部变量
值类型:声明在栈中,数据储存在栈中
引用类型:声明在栈中,数据储存在堆中,栈中存储该数据的引用
3,成员变量
定义在类中方法外的变量
特点:(1)具有默认值
(2)所在类被实例化后,存在堆中,对象被收回时,成员变量从堆中清楚。
(3)可以与局部变量重名
八:类和对象
1,创建类:访问级别 class 类名
{
类成员…
}
2,创建对象(实例化):类名 引用名;
引用名 = new 构造函数(参数列表)
3,访问修饰符:public:所有类成员都可以访问
private:只有所属类成员才能访问
4,构造函数
定义:提供创建对象方式,初始化类数据成员的特殊方法
语法:[访问修饰符]类名 (参数列表)
{
初始化…
}
5,类结构
访问级别 class 类名
{
字段:存储数据
属性:保护字段
构造函数
方法:向类的外部停供某种功能
}
6,static(静态)
九:结构体
1,定义结构体
用struct关键字定义
struct D
{
public int a = 0;
}//结构体中不能有实例字段初始值设定项