阅读《LEARNING HARD C#学习笔记》知识点总结与摘要一

简介:

本人有幸在Learning Hard举行的整点抢书活动《Learninghard C#学习笔记》回馈网友,免费送书5本中免费获得了一本《LEARNING HARD C#学习笔记》,我(梦在旅途)虽然从事.NET开发多年,但一直都没有能好好的系统学习,特别是C#5.0的知识,现如今有幸得到这本书,可以好好的温习、巩固和提升, 非常感谢Learning Hard!

我在收到该书后,花了约两周的时间就看完了,主要是集中在晚上及周末时间,因为本书是从浅入深讲解C#知识,我虽谈不上什么高手,但C#早期版本的相关知识基本都熟悉和掌握了,所以在阅读的时候侧重点主要放在后面(13章及以后),速度也就比较。我阅读一般喜欢做总结及摘要,书中重要的知识点会做上标记,以便后面再次复习。孔子曰:温故而知新,可以为师矣,所以我在看完这本书后,觉得有必要针对书中的要点及自己平时的经验积累总结一些文章,以便后续再次温习,也供新手学习参考。文中可能有些因理解差异存在不足,还请大家评论与指点,共同进步,谢谢!

一..NET基础

CLR:公共语言运行库

CTS:通用类型系统

CLS:公共语言规范

 

受CLR管理的代码称为托管代码,否则称为非托管代码

 

二.类型与变量

数据类型分为:值类型与引用类型

值类型有:数值、枚举、结构体

引用类型有:接口、类、委托、字符串、数组

 

值类型在栈中分配内存空间并保存数据;

引用类型在堆上分配内存空间并保存数据,且在栈中保存指向堆中的数据地址;

 

装箱:值类型转换为引用类型;

拆箱:引用类型转换为值类型;

 

常量:Const标识,在声明时就必需初始化,且不能更改,通过类名来访问;

 

变量:

Static:初始化一次并持续保存在内存空间中,可反复读写;

Readonly:仅允许在声明时或所在类的构造函数中初始化,其它地方不可更改;

 

Static Readonly与Const的区别:

Static Readonly可在构造函数中初始化,而Const则不行;

Static Readonly在运行时分配内存空间,而Const则在编译时分配内存空间;

 

三.运算符

运算符重载定义方法如下:

Public static 类型 opearator 运算符(类型1,类型2);

注意:运算符重载方法的访问修饰符必需为Public static

 

四.条件与循环

条件语句:1.if-else        2.switch

循环语句:1.while          2.do-while        3.for          4.foreach

 

跳转语句:

Break:跳出循环或分支;continue:跳过本次循环并继续执行下一次循环;

Goto:跳转到指定的标签处(不建议使用);

Return:退出所在方法,并直接返回或返回值,不限深度;

 

五.类

类访问修饰符

Public 公共不受限访问,同程序集或引用该程序集中的其它程序集中类内外部均可访问;

Private 私有访问,仅限在类内部访问;

Protected 受保护访问,仅限在类内部及其子类内部中可访问;

Internal 在同一个程序集中类内外部均可访问;

Protected internal 在同一个程序集的类内部及其子类内部中可访问;

注意:默认不添加修饰符,则表示以Internal形式访问

Sealed 密封,不可继承;

Abstract 抽象,必需继承,若是抽象成员则在子类中需用override重写该成员;

Statict 静态密封,不可实例化,且不可继承;

 

在命名空间中定义的元素(类,接口,结构体,委托等)无法显式地声明为 private、protected 或 protected internal

 

构造函数:

1.可重载;2.没有声明则编译后默认生成无参且空实现的构造函数;3.构造函数名与类名相同;

4.无返回值;

作用:通过NEW相应的构造函数来实例化一个对象;

 

静态构造函数:

1.不能使用访问修饰符;2.有且只能定义一个无参构造函数(即:不能重载);3.只会执行一次;

作用:初始化类中静态成员;

 

析构函数:

  1. 无访问修饰符;2.有且只能定义一个无参析构函数;3.不能重载;4.由垃圾回器GC自动调用;5.结构体不能定义析构函数;

 

索引指示器:

定义方法:修饰符 类型 this[索引参数列表,…]

注意:索引指示器访问修饰符不能为static

 

六.类与结构体区别

1.类是引用类型,结构体是值类型;

2.结构体不能在声明字段时进行初始化,而必须在构造函数中进行初始化,而类不受限制;

3.类默认的无参构造函数在显式声明后则不存在,而结构体中不能显式声明,所以一直存在;

4.结构体仅可实现接口,不能继承类或结构体,而类可以继承类也可实现接口;

5.结构体不能声明为abstact、sealed、static,而类均可以;

6.结构体可以直接不用new声明对象,但未赋值的字段不可用,而类必需则通过NEW来实例化对象;

本文转自 梦在旅途 博客园博客,原文链接: http://www.cnblogs.com/zuowj/p/4419373.html ,如需转载请自行联系原作者

相关文章
|
4月前
|
人工智能 开发框架 调度
C#/.NET这些实用的技巧和知识点你都知道吗?
C#/.NET这些实用的技巧和知识点你都知道吗?
|
6月前
|
开发框架 .NET Linux
2024年最全C# 图解教程 第5版 —— 第1章 C# 和 ,2024年最新终于有人把Linux运维程序员必学知识点全整理出来了
2024年最全C# 图解教程 第5版 —— 第1章 C# 和 ,2024年最新终于有人把Linux运维程序员必学知识点全整理出来了
2024年最全C# 图解教程 第5版 —— 第1章 C# 和 ,2024年最新终于有人把Linux运维程序员必学知识点全整理出来了
|
6月前
|
算法 安全 C#
C# | 上位机开发新手指南(六)摘要算法
你知道摘要算法么?它在保障数据安全方面非常有用! 它能够将任意长度的数据转换成固定长度的消息摘要,从而确保数据的完整性和可靠性。比如说,我们下载软件的时候,就可以用摘要算法来检验软件是否被篡改,保障我们的电脑安全。 那这个算法的工作原理是怎样的呢?大致就是通过一系列复杂的计算,将原始数据转换为一个固定长度的摘要信息。而且无论输入的数据大小,输出的摘要信息长度都是一样的。 那么摘要算法有什么用处呢?比如数字签名,确保数据的来源和内容没有被篡改。还有密码学等领域的应用,可以说是非常厉害了!
73 0
C# | 上位机开发新手指南(六)摘要算法
|
设计模式 C#
C#—代码理解知识点(二)
上回介绍了关于第一章所设计的那些知识点,这次介绍一下第二章所涉及到的代码,以及由代码折射出的知识点!
C#—代码理解知识点(一)
有上面的代码之后就不得不上传上上面这个图片了,这是我们刚开始学习C#接触的第一个程序,虽然只是一个简单的输出“Hello World"程序,却带给我了我们这么多的知识以及如此规范的模版!
|
Java C#
【c#入门杂选】-带你熟知c#基础知识点《思维导图》
【c#入门杂选】-带你熟知c#基础知识点《思维导图》
176 0
|
存储 开发框架 Java
|
存储 网络协议 算法