- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
CSharp笔记
CSharp笔记
1.object是System.Object的别称,可以给它赋任何类型的值
2..运算符用于成员访问
3.::用于在指定命名空间中查找标识符,它通常放在两个标识符之间
4.using用作指令时:
1)创建吗命名空间或者类型别名:using want-identifier = before-identifier;//注意:这段代码不能放在类定义或方法中,否则报错using无效或者缺()(估计是编译器把它当语句了)
2)导入命名空间:using identifier;//一般把它放到开头
3)
4)
5)
5.C#的类定义:
class-modifiers class identifier class-base class-body;
class-modifiers: 表示类修饰符(可选)
public:公共类,访问不受限制
protected:保护类,只能是类本身或者派生类访问
internal:内联类,只能在当前的应用程序中访问
private:私有类,只能是本身访问
new:只能用于嵌套类,它可以指定类隐藏同名的继承成员
abstract:抽象类
sealed:密封类,不可继承
class:必用关键字
class-base:基类(可选),前面用:分割
calss-body:类体
6.constant:用来修饰常量
7.有种东西叫做“字段”(field),有种东西叫做“方法”(method)
8.C#中的一个不同,在函数的参形表中使用params修饰一个数组即可完成不定参数的传入,通过类似于数组的访问方式就可以得到传入的值。唯一缺憾:只能传入同类型的数
9.和C++一样虚方法用virtual修饰
10.方法的重写用voerride来修饰
11.用sealed来密封方法,密封后的方法不可再重写
12.C#的特有机制——属性(property),简单例子:
class A
{
private string name;
public string Name //声明一个属性,并实现之,PS:属性可以是static的
{
get { return name; } //get访问器
set { name = value; } //set访问器
}
}
之后就可以通过Name属性来进行赋值或者取数,简单例子:
A a;
a.Name = trb; //a的私有成员name的值变为trb
string str = a.Name; //取出a中私有成员name的值
13.关于索引器(含参属性),简单例子:
class A
{
private string[] name = new string[10];
public string this[int index] //声明索引器,并实现之,PS:索引器只能是针对this的,所以必须有this关键字,并且确定传入索引
{ //注意:虽然索引器和数组比较相似,但仅仅是相似而已,索引器不属于变量,不能作为out或者ref参数传递
get { return name[index]; } //get访问器
set { name[index] = value; }//set访问器
}
}
如果你认为只能一个int索引值,那就大错特错了:
public string this[int x, int y, string s] //三个索引,最后一个为string类型的
{
get { return name[x+y] + s; }
set { name[x+y] = value; }
}
事实上索引器也是可以进行重载的。
使用索引器的例子:
A a;
a[0] = Test;
Console.WriteLine(t[0, 0, ----);
输出结果:Test----
14.属性和索引器的小结
1)属性存在一个名称,而索引器由this关键字指定,即它所在类的签名标识
2)属性可以是静态属性(用static修饰),而索引器始终是实例成员(即不能使用static修饰)
3)属性可以通过成员来访问,而索引器必须是通过其索引来访问其元素
4)属性的get访问器是不带参数的方法,而索引器的get访问器为带参数的方法
5)索引器的set访问器仅仅是value一个参数的方法,而索引器的set访问器是除了value外还带有其他索引相关的参数的方法
15.关于构造函数(structor):
1)实例构造函数:
a)如果没有为类声明构造函数,那么编译器会默认的添加一个无参的构造函数
b)如果
文档评论(0)