C#学习总结(2)

2019-08-30 16:42

Debug.Assert()带三个参数,布尔值、字符串 判定函数

Trace.Assert()带三个参数,布尔值、字符串

问题System.IndexOutOfRangeException详见P143 重点结构化异常处理语法:try……catch……finally 注:重点了解其语法以及熟练使用

关键字:throw 产生一个异常,需要把新初始化的异常作为其参数,产生一个异常,需要使用使用命名空间System的另一个异常System.Expection

例如throw(new System.Expection);

问题使用Trace.WriteLine() 要优于使用Debug.WriteLine(),因为调试版本仅能用于调试程序,这个观点正确与否,怎么解释? OPP技术

构造阶段—构造函数 对象的生命周期

析构阶段—析构函数(一般情况下,我们不依

赖析构函数释放对象实例使用的资源)

关键字:readonly表示这个字段只能在执行构造函数的过程中使用,或由初始化赋值语句赋值 public 关键字private 成员定义internal protected 定义字段

virtual-----方法可以重写

关键字abstract-----必须在非抽象的派生类中重写(抽象类) 定义方法override-----重写了一个基类方法 external-----定义放在其他地方

get关键字/函数 (访问器) 定义属性

重制成员:使用工具修改代码,而不是手工修改,如将public string mystring----->private string mystring set关键字/函数------->value关键字赋值

关键字:base 表示包含在派生类中的基类的执行代码,类似于构造函数的控制(1,要对派生类的用户隐藏继承的公共成员,但任然能够在类中访问其功能;2,要给继承的虚拟成员添加执行代码,而不是简单是的重写的新执行代码替代它)

关键字:this 与base一样,this也可用在类成员的内部,且该关键字也引用对象实例,即是当前实例,this关键字最常见的功能就是把当期对象实例的引用传递给一个方法

循环冗余码校验( CRC 校验):

循环冗余码校验是目前一种最常用的,也是最有效的差错检测编码。对一个 k 比特的数据块(或称报文),发送方生成一个 n比特的序列,称为帧检验序列( FCS),这个序列与原 k 比特的数据块组成一个长度为k+n比特的新序列(帧),如图 10-2-2,一起发送。当接收方收到这个k+n比特的帧后,进行校验。 这个特定的多项式称“生成多项式”。发送方采用数据报文整除生成多项式,得到帧检验序列,附加到发送数据报文之后。这个过程称为“生成”。

接收方,对接收到的报文用同样的生成多项式,再次进行整除,这个过程称为“校验”。若除后余数为 0(即能整除),表示接收的数据块正确,否则,表示接收数据有错。上述 CRC 校验只能发现错误,而不能纠正错误。

CRC 校验能够: 1)检查出全部一位错;

2)能检查出全部离散的二位错; 3)能检查出全部奇数个数错;

4)能检查出全部长度小于或等于 n 位的突发错( n 为生成多项式的阶次);

5)能以 1-( 1/2)^(n-1)的概率检查出长度为n+1 位的突发错。 例如,如果 k=16,则该 CRC 校验码能全部检查出小于或等于 16 位长度的突发错,

并能以 1-( 1/2)^( n-1)=99. 997%的概率检查出长度为 17 位的突发错,漏检概率为 0.0003%。

因此 CRC 校验的校验效率很高,是现代通信技术中使用最多的方法。要达到上述校验效率,生成多项式是关键。常用的生成多项式有:

CRC-12 P(x) =x^12+x^11+x^3+x^2+x^1+x^0 CRC-16 P(x) =x^16+x^15+x^2+x^0 CRC-CCITT P(x)=x^16+x^12+x^5+x^0 CRC-32

P(x)=x^32+x^26+x^23+x^22+x^16+x^12+x^11+x^10+x^8+x^7+x^5+

x^4+x^2+x^1+x^0

CRC 校验可用硬件电路实现,其逻辑如图 10-2-3 所示,其中相加点为异或逻辑,方框为移位寄存器,位数与帧检验序列相同。CRC 校验也可比照图 10-2-3,采用软件实现。其中多项式整除采用按位除(不带进位)。即运算过程采用异或、移位操作完成。用程序实现 CRC校验序列的生成和 CRC 校验的过程如下:

CRC 校验序列生成:

1.首先在数据报文后添入与帧检验序列位数相同个 0。从数据序列头部开始,与生成多项式进行异或运算。

2.根据数据序列最高位的状态,若为 1,进行异或运算;若为 0,不进行异或运算。然后将整个数据报文(连同添加的 0 一起)左移一位,移出的数据自动丢失。

3.对剩余的报文继续执行第 2 步运算和左移过程,直到添加的 0 也经异或运算完成。产生的余数即为生成的 CRC 校验码序列。将它作为报文的添加字节,一起发送。CRC 校验的计算方法与生成过程中第 2、 3 步相同,直到报文最后一位(连同发送端添加 CRC校验码序列在内),若结果余数为 0,表示正确,否则接收到的报文有错。 例 10-2-1 CRC 校验过程


C#学习总结(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:刑法博士、法学教授、检察官争辩的8个刑法问题

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: