c#学习笔记Word文档下载推荐.docx
《c#学习笔记Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《c#学习笔记Word文档下载推荐.docx(11页珍藏版)》请在冰点文库上搜索。
![c#学习笔记Word文档下载推荐.docx](https://file1.bingdoc.com/fileroot1/2023-5/5/d735d12a-bec4-4322-ac7d-e73410cb4bba/d735d12a-bec4-4322-ac7d-e73410cb4bba1.gif)
{
staticvoidMain(string[]args)入口函数,类中谁有谁入口
Console.WriteLine("
HelloWorld!
"
);
Concle类对屏幕的输入输出
Console.ReadLine();
}
}
以上代码写在一个cs文件中cs文件就是文件不是一个类cs文件包含多少个空间和类,就看有多少个namespace和class。
引用类写的是命名空间名+类名能与cs文件有关的只是它是否跨项目然然。
所以想创建类(class)得先有个命名空间(namespace)
【没有狗屁的匿名包】
Main函数是程序唯一的这个首大写也是必须的
usingSystem系统必须带上的命名空间
namespace上面的HelloWorld空间后要引用?
usingHelloWorld
staticvoidMain(string[]args)
Main函数的定义依然丑恶参数也是必须的
Console.WriteLine("
屏幕输入语句【C#直接编译的程序是黑框框的】
Console是System命名空间的类
WriteLine是Console类的方法
这个调用理应是System.Console.WriteLine
但由于using了System命名空间所以下面的语句都当是出自System空间(有它的类或方法名的话)
Console.ReadLine();
读取输入函数无视
关于类型
无视大部分
常量定义
const类型名变量名=值;
若要将变量输出屏幕
输出初始balance的值:
{0}"
balance);
输出的话{0}"
变量1);
{数字}是占位符相对应第二个开始的变量参数
或
Console.WriteLine(变量名);
变量名无需引号
章四运算符
还是记下两个关于类型的运算符isas
is运算符检验类型
变量名is类型名返回true/false
as运算符转换类型
变量名as类型名行就行不行赋值null
(是与引用类型一起用?
)
章五函数
foreach(有说他爸是vb,不是javascript么?
foreach(类型标识符in表达式)
之后的循环中这个表达式变量依次代表遍历到的值
章六数组
定义数组
数据类型符[]数组名={初值列表};
数据类型符[]数组名=new数据类型符[]{初值列表};
数组名=new数据类型符[长度];
int[]x={1,2,3,4};
int[]x=newint[]{1,2,3,4};
double[]score=newdouble[300];
交错数组
数据类型符[][]数组名=new数据类型符[行数][];
int[][]b=newint[3][];
//定义具有3行的交错
数组各行数组元素个数的分配:
数组名[i]=new数据类型符[长度];
b[0]=newint[2];
//首行具有两个元素
b[1]=newint[3];
//第二行具有3个元素
b[2]=newint[4];
//第三具有有4个元素
创建时初始化
int[][]a=newint[][]{
newint[]{1,2},
newint[]{3,4,5},
newint[]{6,7,8,9}
};
----------------或--------------------------
int[][]a={
};
【以上内容均来自于复制黏贴】
-------------集合类--------------
ArrayList集合非数组,无大小限制,所以又说是动态数组。
(动态数组不是数组。
恩……)
常用属性:
Count:
获取动态数组中实际所包含的元素数
Item:
获取或设置指定索引处的元素
Capacity:
获取动态数组的容量大小
常用方法:
Add、Remove、RemoveAt、Clear、Insert、IndexOf、Reverse、Sort、ToArray、Contains
哈希表Hashtable链表的形式进行存储的,不需要顺序排列,而ArrayList类是按照顺序进行排列的。
对于链表存储的结构,需要通过索引进行访问。
先无视
TM爽又一章了
章七类对象
成员:
字段方法属性(让属性X了字段)
方法例子
intsquare(intx)
{
returnx*x;
就是定义一个函数
不同点在于定义属性
privatedoublewidth=30;
这是定义一个字段字段通常是private的
字段名是width小写的w
publicdoubleWidth
这是定义属性,C#的面向对象中惯用属性去改变字段
属性名教Width大写的W就是说这两个在类中是不同的成员
定义属性中,就只要声明get是怎样getset是怎样set
get
returnwidth;
通常get要做的当然是return,可以可耻地当然return别的
set
width=value;
set做的是赋值,value是隐形参数,指是外来值
}getset要写的都是主要对于哪个字段(例中就是对着width)
好像也可以直接在属性中顺便定义出字段。
属性使用例子:
staticvoidMain(string[]args)
Windowy=newWindow();
y.Width=200;
Thewidthofwindowis{0}"
y.Width);
这个属性使用可以看到,属性是当普通变量来用,可以赋人值(攻),可以被赋值(受)
很默认地赋人值时,跑了get方法,没定义get的话就是只写了
被人赋值时,跑了set方法,=右边的就成为value这个默认隐形参数,没定义set的话,就是只读属性了
章八
publicclassMoto:
Mobile//定义派生类Moto冒号后写明基类
publicMoto()//派生类的构造函数
Iamthederivedclass,Moto."
使用基类方法的话就是用base
派生构函调用基类构函
publicMoto():
base("
FromDerived"
)派生类Moto
关于抽象类少许
[非抽象类必须具体实现所继承的所有抽象函数,且必须使用override关键字重写抽象类所定义的函数。
]
Override的叫重写
New的叫覆盖不同性体现在派生对象指向抽象时方法的执行
接口定义接口的关键字是interface使用的话就是像使用继承那样
章十二异常
依然是trycatchfinally吧
章十九ADO.net
------------------------------------中断腰斩------------------------------------------------------------------------